Jquery mobile 如何使用knockoutjs通过ajax调用绑定从JQM中加载的复选框列表中读取选定值?
我正在使用JQuery mobile和KnockoutJS开发一个移动应用程序。能够从AJAX调用成功加载复选框列表。复选框列表已使用knockout js foreach绑定绑定。但是,我无法找到从lsit获取选中复选框值的方法。任何想法都是非常值得欣赏的 这是我的HTMLJquery mobile 如何使用knockoutjs通过ajax调用绑定从JQM中加载的复选框列表中读取选定值?,jquery-mobile,knockout.js,Jquery Mobile,Knockout.js,我正在使用JQuery mobile和KnockoutJS开发一个移动应用程序。能够从AJAX调用成功加载复选框列表。复选框列表已使用knockout js foreach绑定绑定。但是,我无法找到从lsit获取选中复选框值的方法。任何想法都是非常值得欣赏的 这是我的HTML <p> Select Items(s): <div id="itemList"> <ul id="itemList" data-role="listview" da
<p>
Select Items(s):
<div id="itemList">
<ul id="itemList" data-role="listview" data-inset="true" >
<fieldset id="myList" data-role="controlgroup" data-bind="foreach : Items">
<li id="chkRoles" data-role="fieldcontain" data-filter="true">
<input data-theme="c" type="checkbox" data-role="controlgroup" data-bind="attr: { 'data-id': Id, name: 'checkbox-' + Id, id: 'checkbox-' + Id }" />
<label data-theme="c" data-bind="text: ItemName, attr: { for: 'checkbox-' + Id }"></label>
</li>
</fieldset>
</ul>
</div>
</p>
您可以使用另一个observableArray来仅保存选中的值。 然后,如果给复选框一个“value”属性,并对其使用“checked”绑定,并指定ObservalArray,那么数组应该仅使用选中输入的值自动更新。(仅此而已) 我将您的代码放入JSFIDLE并在此处进行了更改:
ItemViewModel = function(){
var self = this;
self.Items = ko.observableArray([])
}
var viewModel = new ItemViewModel();
//doing an AJAX call to load ObservableArray
viewModel.Items(data);
$("#itemList").listview("refresh").find('input').checkboxradio();
ko.applyBindings(viewModel);