我正在尝试使用链接来检查jQuery的复选框。我的HTML是:
<table>
<tr>
<td><input type="checkbox" value="test" /></td>
<td><a class="editbutton" href="#">edit</a></td>
</tr>
</table>
我一直在玩这个jquery:
jQuery('.editbutton').click(function($) {
jQuery(this).closest('[type=checkbox]').attr('checked', true);
});
不幸的是,这不起作用。有什么想法吗?
答案 0 :(得分:10)
使用.prop()
代替.attr()
,因为.prop
用于设置properties
。顺便说一下你的选择器是错误的。 .closest()
将遍历dom树。
请阅读以下内容以获取更多参考: .prop() .closest()
试试这个,
jQuery('.editbutton').click(function($) {
jQuery(this).closest('td').prev().find('[type=checkbox]').prop('checked', true);
});
或者@kappa建议。
jQuery('.editbutton').click(function($) {
jQuery(this).closest('tr').find('[type=checkbox]').prop('checked', true);
});