Tôi đang cố gắng Hiển thị một giá trị dựa trên giá trị bảng của True hoặc False. Ví dụ: nếu Giá trị là True thì tôi muốn nó Nói được hỗ trợ và Nếu đó là False thì tôi muốn nó Nói không được hỗ trợ! Đây là mã html của tôiknockout js if statement to Display value dựa trên kiểu dữ liệu boolean
<p><input type="text" data-bind="value: Support" /></p>
Java script Mã
$(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();
})
Giải pháp thứ hai của bạn sẽ không hoạt động, biến Hỗ trợ sẽ cần() sau đó để được tính đúng. Bất kể, nếu ràng buộc là đơn giản hơn nhiều, vì nó được tạo ra cho mục đích này. –
Cảm ơn bạn đã sửa đổi liên quan đến Hỗ trợ(). Tôi thích cách tiếp cận đánh dấu thêm là lãng phí đánh dấu (và không phải là rất DRY), cá nhân, nhưng bất cứ điều gì được bạn nơi bạn cần phải đi. –
Tôi đã sử dụng ko.computed và tôi nhận được lỗi này - Uncaught Error: Không thể viết giá trị cho ko.computed trừ khi bạn chỉ định tùy chọn 'write'. Nếu bạn muốn đọc giá trị hiện tại, không vượt qua bất kỳ thông số nào. – BrianMichaels