绑定到复选框并使用knockout获取所选值

时间:2017-04-30 13:15:09

标签: knockout.js

我需要帮助使用knockout js为集合Array创建复选框列表。我已创建了arrayobject,但不确定如何将其绑定到checkbox并在单击复选框时获取相应的复选框选择值。下面是js代码

function axViewModel()
{
 var self = this;
 self.Methods = ko.observableArray([]);

 function addMethod(id, name){
 return {
  Id : ko.observable(id),
  Name : ko.observable(name)
   }
}

 function LoadMethod()
  {
   self.Methods.push(new addMethod('1', 'StartWith');
   self.Methods.push(new addMethod('2', 'Contains');
   self.Methods.push(new addMethod('3', 'Contains');
}

LoadMethod();

}

2 个答案:

答案 0 :(得分:0)

您的每个method对象都需要另一个可以绑定到checked绑定的observable。 observable应该是一个布尔值。然后,您可以订阅这些可观察对象的更改,以便在更改时获得新值。

答案 1 :(得分:0)

试试这个

<div class="col-sm-6" data-bind="foreach: Methods"> <div class="radio"> <label> <input type="radio" name="optradio" data-bind="value: MethodId,checked: $parent.selected"><span data-bind=" text: MethodName" ></span> </label> </div> </div>

self.selected = ko.observable('');
self.Methods = ko.observableArray([{MethodId:2,MethodName:'Athul'},{MethodId:1,MethodName:'Athul'}]);
    self.selected(2);

self.selected.subscribe(function(newValue){alert(&#34; new value is&#34; + newValue);});