Jquery mobile 如何使用knockoutjs通过ajax调用绑定从JQM中加载的复选框列表中读取选定值?

Jquery 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

我正在使用JQuery mobile和KnockoutJS开发一个移动应用程序。能够从AJAX调用成功加载复选框列表。复选框列表已使用knockout js foreach绑定绑定。但是,我无法找到从lsit获取选中复选框值的方法。任何想法都是非常值得欣赏的

这是我的HTML

 <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);