Dod*_*nas 16 checkbox jquery html-table
我有一个快速的jQuery问题:
我有以下类型的表:
<table id="my_table">
<tr>
<td><input type="checkbox" value="24"></td>
<td> Click Here To Check The Box </td>
<td> Or Click Here </td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)
在jQuery中,我试图选中该行中单击的相应复选框.
$("#my_table tr").click(function(e) {
$(this).closest(":checkbox").attr("checked", checked");
});
Run Code Online (Sandbox Code Playgroud)
但上述情况并不奏效.有关选择单击行的复选框的快速建议吗?谢谢!
mVC*_*Chr 33
编辑:最佳解决方案
假设只有一个复选框,我会将事件附加到td而不是tr:
$('#my_table td').click(function(e){
$(this).parent().find('input:checkbox:first').attr('checked', 'checked');
});
Run Code Online (Sandbox Code Playgroud)
如果你想要取消选中复选框...
$('#my_table td').click(function(e) {
var $tc = $(this).parent().find('input:checkbox:first'),
tv = $tc.attr('checked');
$tc.attr('checked', !tv);
});
Run Code Online (Sandbox Code Playgroud)
此函数也需要应用于复选框以取消默认行为.
编辑:解决方案是最合理的方法是取消功能,如果目标是一个输入:http://jsfiddle.net/EXVYU/5/
var cbcfn = function(e) {
if (e.target.tagName.toUpperCase() != "INPUT") {
var $tc = $(this).parent().find('input:checkbox:first'),
tv = $tc.attr('checked');
$tc.attr('checked', !tv);
}
};
$('#my_table td').live('click', cbcfn);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
67409 次 |
| 最近记录: |