2014-05-23 33 views
0

我正在使用jquery DataTables插件,并且在表格中添加了一个用于选择行的复选框。我使用的是FixedColumns扩展,它会导致DataTables创建不滚动的表部分的重复副本。因此,我的页面实际上有两个行选择框 - 一个可见和一个隐藏。我的想法是当点击可见的那个时,将隐藏的一个设置为相同的检查状态。我需要这样的东西,但我不知道如何通过价值找到其他复选框。也许使用过滤器?谢谢。设置具有指定名称和值的复选框

// a row select checkbox changed. Set its hidden version created by datatables 
function OnRowSelectCheckBoxClicked(cb) { 
     var isChecked = cb.checked; 
     var val = cb.value; 
     // set any duplicate checkboxes with same value to same checked state. 
     $('input[type=checkbox][name^="selectlesson"][value = "val"').not(cb).prop('checked', ischecked); 
} 

这似乎工作:

 function OnRowSelectCheckBoxClicked(cb) { 
     var isChecked = cb.checked; 
     var val = cb.value; 
     // set all duplicate checkboxes to same value. 
     var s = 'input[type=checkbox][name^="selectlesson"][value="' + val +'"]'; 
     $(s).not(cb).prop('checked', isChecked); 
    } 
+0

'.not()'的参数应该是一个选择器。什么是'cb.value'? – Barmar

+0

这两个复选框如何排列在HTML中?您可能可以使用DOM遍历函数从可见区域移动到相邻的隐藏区域。 – Barmar

+0

我以为不是没有找到指定的元素。我想找到它的双胞胎。 cb.value是被点击的复选框的value =属性。我不确定我想依靠DOM布局来找到其他的。我相信它的一个方法。 – BrianK

回答

0

JavaScript不扩展变量里面的字符串,你必须使用显式的拼接。

$('input[type=checkbox][name^=selectlesson][value="' + val + '"]').not(cb).prop('checked', ischecked); 
相关问题