TrueまたはFalseのテーブル値に基づいて値を表示しようとしています。たとえば、ValueがTrueの場合、サポートされていると言いたい、Falseの場合はサポートされないと言いたい!これは、あなたが探している私のhtmlコードノックアウトjs if文ブール型データ型に基づいて値を表示
<p><input type="text" data-bind="value: Support" /></p>
のJavaスクリプトコード
$(function() {
dm.viewModel = function() {
var clients = ko.observableArray(),
selectedClient = ko.observable(),
clientChanged = function() {
$.getJSON(dm.WebServices + "/dm/get/clientinfo?client=" + encodeURIComponent(selectedClient()), function(data) {
if (data != null) {
dm.viewModel.Name(selectedClient());
dm.viewModel.Support(data[0]['Support']);
}
})
$('#divClientData').show();
},
LoadClients = function() {
$('#divClientData').hide();
$.getJSON(dm.WebServices + "/dm/get/clientlist", function(data) {
$.each(data, function(key, val) {
clients.push(val);
});
});
},
Name = ko.observable(),
Support = ko.observable(),
return {
Name: Name,
Support: Support
};
}();
ko.applyBindings(dm.viewModel);
dm.viewModel.LoadClients();
})
2つ目の解決策は機能しません。サポート変数を計算してから適切に計算する必要があります。それにかかわらず、ifバインディングは、この目的のために作成されたので、はるかに簡単です。 –
Support()に関する改正をありがとう。私は余分なマークアップがマークアップを無駄にしている(とあまり乾燥していない)というアプローチを取ることを好みますが、あなたがどこに行く必要があるかは個人的には決まります。 –
私はko.computedを使用しましたが、このエラーが発生します。Uncaught Error: 'write'オプションを指定しない限り、ko.computedに値を書き込めません。現在の値を読みたい場合は、パラメータを渡さないでください。 – BrianMichaels