Rea*_*ues 6 html javascript jquery knockout.js
所以我试图根据是否选中子复选框,使用Knockout.js为元素添加一个类.为此,我试图将this参数传递给我的函数.目前,我的删节DOM结构如下:
<tr data-bind="css: { selected: isRowChecked(this) }">
<td><label><input type="checkbox"></label></td>
</tr>
Run Code Online (Sandbox Code Playgroud)
我的isRowChecked功能是这个(我使用jQuery来定位输入):
function isRowChecked(elem) {
var checkbox = $(elem).find('input[type="checkbox"]');
return checkbox.checked;
}
Run Code Online (Sandbox Code Playgroud)
然而,如果我console.log elem得到的是全局窗口对象.
使用jQuery完全解决这个问题是不可行的,因为我工作的项目几乎已经完全使用了淘汰赛.有任何想法吗?
Jos*_*osh 13
您应该能够通过传递特殊绑定上下文变量$ element来实现此目的.这是这里讨论的最后一个变量.
$元素
这是当前绑定的元素DOM对象(对于虚拟元素,它将是注释DOM对象).如果绑定需要访问当前元素的属性,这将非常有用.例:
<div id="item1" data-bind="text: $element.id"></div>
在您的情况下,这将是这样的:
<tr data-bind="css: { selected: isRowChecked($element) }">
<td><label><input type="checkbox"></label></td>
</tr>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6065 次 |
| 最近记录: |