所以我試圖添加一個類到一個使用Knockout.js基於是否複選框被選中的元素。爲此,我試圖將this
作爲參數傳遞給我的函數。目前,我的刪節DOM結構如下:如何將當前元素傳遞給Knockout.js綁定中的Javascript函數?
<tr data-bind="css: { selected: isRowChecked(this) }">
<td><label><input type="checkbox"></label></td>
</tr>
的我isRowChecked
功能,這(我使用jQuery來定位輸入):
function isRowChecked(elem) {
var checkbox = $(elem).find('input[type="checkbox"]');
return checkbox.checked;
}
但是,如果我console.log
elem
所有我get是全局窗口對象。
使用jQuery完全解決這個問題是不可行的,因爲我正在使用的項目已經幾乎完全使用了淘汰賽。有任何想法嗎?
請不要在您的KO的ViewModels使用jQuery!您應該使用observables和checked綁定來追蹤複選框的選擇時間:http://jsfiddle.net/eqoryb6v/ – nemesv 2014-11-25 06:23:47
@nemesv,好的,這很有幫助,但我有多行,每行都有一個複選框。使用你的方法,當我選擇一個複選框時,*所有*行和複選框被突出顯示。 http://jsfiddle.net/eqoryb6v/1/ – ReactingToAngularVues 2014-11-25 19:30:07