我使用的是knockout.js 2.3.0,我正在使用一個具有動態生成內容的表格。每個表格行都有一個複選框,每次選中/取消選中某個複選框時,我都會嘗試觸發一個事件。訂閱在knockout.js中動態添加的內容
這裏的HTML表格
<table>
<tbody data-bind ="foreach: additionalOptions">
<tr>
<td><input type="checkbox" class="optionCheckbox"
data-bind="checked: selectedOption"/>
</td>
<td data-bind="text: name"></td>
<td data-bind="text: price" ></td>
</tr>
</tbody>
</table>
這裏是內容實際上是如何加入到additionalOptions陣列
function addOptions(id,name,price){
var self = this;
self.id = id;
self.name = name;
self.price = price;
self.selectedOption = ko.observable(false);
}
self.additionalOptions = ko.observableArray();
self.additionalOptions.push(new addOptions(data[i].id,
data[i].name,
data[i].price));
當我訂閱additionalOptions
當表充滿內容只觸發。我甚至試圖用jQuery手動subscribe
,但那也沒有效果。這是我嘗試的兩件事。
self.additionalOptions.subscribe(function(){
alert('Box has been checked!')
});
$(".optionCheckbox").change(function(){
alert('Box has been checked');
});
謝謝,這完美地工作,很容易實現。 – user3476345