0
請參閱here。Knockout如何將對象綁定到複選框和收音機
如何將一個對象(不可觀察)綁定到一個複選框和廣播值,以便我得到的值(值和值)是一個普通對象(無可觀察)。
HTML:
Selection List
<a class="pull-right" href="#" data-bind="click: addChoice">+</a>
<table class="selection" data-bind="foreach: Choices">
<tr>
<td><input type="text" data-bind="value: Id" /></td>
<td><input type="text" data-bind="value: Text" /></td>
</tr>
</table>
Checkbox Values: <br />
<!-- ko foreach: {data: Choices() } -->
<input type="checkbox" data-bind="value: ko.toJS($data), checked: $root.Values" /><span data-bind="text: Text" ></span><br />
<!-- /ko -->
Radio Value: <br />
<!-- ko foreach: {data: Choices() } -->
<input type="radio" data-bind="value: ko.toJS($data), checked: $root.Value" /><span data-bind="text: Text" ></span><br />
<!-- /ko -->
<pre data-bind="text: ko.toJSON($root, null, 2)"></pre>
的Javascript:
function VM() {
var self = this
self.Value = ko.observable()
self.Values = ko.observableArray([])
self.Choices = ko.observableArray([])
self.Choice = function (id, text) {
this.Id = ko.observable(id)
this.Text = ko.observable(text)
}
self.addChoice = function() { self.Choices.push(new self.Choice("C" + (self.Choices().length + 1), "Text Here")) }
}
var vm = new VM()
ko.applyBindings(vm)