我有以下HTML代码:
<tr>
<td class="right">
<label class="input-control tiny-checkbox" onclick="">
<input type="checkbox" value="0"/>
<span class="helper"></span>
</label>
</td>
...
我有以下jQuery代码:
$("table tbody tr td").click(function () {
var col = $(this).parent().children().index($(this));
var row = $(this).parent().parent().children().index($(this).parent());
if (col == 0) {
// col checkbox -> highlight the line (on/off)
var checked = $(this).children(':checkbox').is(':checked');
即使检查了ckeckbox,检查的var也永远不会成立。我不知道为什么。
有什么想法吗?
答案 0 :(得分:4)
您必须在find
内使用children
,因为子项会检查直接子元素,
不是大孩子。
var checked = $(this).find(':checkbox').is(':checked');
答案 1 :(得分:1)
使用find()
方法代替children()
,因为该复选框不是td
的直接子代
$("table tbody tr td").click(function () {
var col = $(this).parent().children().index($(this));
var row = $(this).parent().parent().children().index($(this).parent());
if (col == 0) {
// col checkbox -> highlight the line (on/off)
var checked = $(this).find('input:checkbox').is(':checked');
}
});