Jquery mobile knockoutjs jquery移动复选框列表问题:无法检查
使用knockoutjs和jquerymobile,我需要从数组中创建一个复选框列表。复选框列表似乎已呈现,但它没有响应单击 我使用了一个fieldset标记,数据角色为controlgroup来构建列表。我也用listview试过ul,同样的问题Jquery mobile knockoutjs jquery移动复选框列表问题:无法检查,jquery-mobile,knockout.js,Jquery Mobile,Knockout.js,使用knockoutjs和jquerymobile,我需要从数组中创建一个复选框列表。复选框列表似乎已呈现,但它没有响应单击 我使用了一个fieldset标记,数据角色为controlgroup来构建列表。我也用listview试过ul,同样的问题 编辑:进一步的细节-我发现它似乎和ko.applyBindings发生的时间有关。我创建了一个页面,在本地主机上运行相同的代码,一切正常。然后在ko.applyBindings周围添加了一个计时器,问题再次出现 我会为此更改模型: <!-- k
编辑:进一步的细节-我发现它似乎和ko.applyBindings发生的时间有关。我创建了一个页面,在本地主机上运行相同的代码,一切正常。然后在ko.applyBindings周围添加了一个计时器,问题再次出现 我会为此更改模型:
<!-- ko foreach: listItems-->
<input type="checkbox" name="itemsList" value="name" />
<span data-bind="text: name"></span>
<!-- /ko -->
主要考虑的是输入控件中的“值”属性以适当的方式呈现。
问候 我用两个步骤解决了这个问题 1) 从输入中展开标签,并将其与“for”属性挂钩
<input type="checkbox" data-role="checkbox" data-bind="uniqueName: true, uniqueID: true, value: ID />
<label data-bind="uniqueIDFor: true" >Click me</label>
ko.bindingHandlers.uniqueIDFor = {
init: function (element) {
element.setAttribute("for", "ko_unique_" + ko.bindingHandlers.uniqueName.currentIndex);
}
};
ko.bindingHandlers.uniqueID = {
init: function (element) {
element.setAttribute("id", "ko_unique_" + ko.bindingHandlers.uniqueName.currentIndex);
}
};
@tredder的解决方案有效!这里是一个使用
attr
data bind属性绑定标签的工具,在我看来,它看起来更干净:
$('input:checkbox').trigger('create');