Html knockoutjs和选中的复选框绑定
我很难让knockoutjs检查绑定正常工作。不知道我是不是做错了什么。我有这段htmlHtml knockoutjs和选中的复选框绑定,html,css,knockout.js,Html,Css,Knockout.js,我很难让knockoutjs检查绑定正常工作。不知道我是不是做错了什么。我有这段html <ul data-bind="foreach: ListItems" > <li style="padding-left: 0px; margin-left: 0px; color: white; font-size: 12px;"> <div class="title"
<ul data-bind="foreach: ListItems" >
<li style="padding-left: 0px; margin-left: 0px; color: white; font-size: 12px;">
<div class="title" style="margin-right: 3em; line-height: 20px;">
<input type="checkbox" data-bind="checked: IsActive" />
<label data-bind="text: Quantity, disable: IsActive"</label>
<label data-bind="text: Description, disable: IsActive" ></label>
</div>
</li>
</ul>
所以问题是,在这里选中复选框实际上什么也做不了。它应该禁用其他标签,但它没有。所有其他值都正确显示,如果执行data bind=text:IsActive,我可以通过复选框看到应该更改的值,但它从不更改
编辑:以下建议:
var mydata = ko.observableArray([
{
Categories: ko.observableArray([
{
Description: "Dairy", ListItems: ko.observableArray([
{ Description: "Eggs", Quantity: "1 Dz.", IsActive: ko.observable(false) },
{ Description: "Milk", Quantity: "1 Gallon", IsActive: ko.observable(false) }
])
},
{
Description: "Produce", ListItems: ko.observableArray([
{ Description: "Lettuce", Quantity: "1 Head", IsActive: ko.observable(false) },
{ Description: "Oranges", Quantity: "5 ea.", IsActive: ko.observable(false) },
{ Description: "Greenbeans", Quantity: "1 Thingy", IsActive: ko.observable(false) },
])
},
])
}
]);
您遇到的问题是,您的数据是一个普通的JSON对象,并且只会绑定一次 要获得您正在寻找的双向绑定行为,您的对象需要是“可观察的”,例如:
var mydata = ko.observable({
Categories: ko.observableArray([
{ IsActive: ko.observable(true) }
])
});
请注意,由您决定您的结构中哪些项目需要被观察;这将取决于您希望绑定的行为。能否更具体地说明问题所在?列表项是否正确显示,复选框是否未选中/未选中,或者是其他原因?opps。好的,编辑并添加到底部。真不敢相信我忘了最重要的部分。我按照你的指示做了,请参见上面的编辑。仍然没有禁用后面的标签。哦,你不能禁用标签…但是可以禁用输入。
var mydata = ko.observable({
Categories: ko.observableArray([
{ IsActive: ko.observable(true) }
])
});