我在运行时创建了<table>
。该表有三列:
TD
中始终存在<input type="checkbox">
元素TD
并不重要TD
中总是有一个HTML输入元素。这可以是<input>
,<select>
当我点击第一个TD
TD
中的输入元素
我知道如何在复选框上绑定事件处理程序,但我不知道如何选择“所有<input>
和<select>
元素将在同一行但在第三行中TD
“
这是我的样本标记
...
<tr>
<td>
<input id="chkSelectField" type="checkbox" name="chkSelectField"
onclick="disableControl('chkSelectField');" />
</td>
<td valign="top"> </td>
<td>
<input name="control1" type="text" id="control1" />
<input name="control2" type="text" id="control2" />
<select name="control3" type="text" id="control3">...</select>
</td>
</tr>
...
答案 0 :(得分:2)
在点击处理程序中:
$(this).closest('tr').find('td:eq(2) :input')
答案 1 :(得分:1)
在复选框的事件处理程序中,输入:
$(this).parent().next().next().find('input,select')
答案 2 :(得分:1)
我会这样做:
$('td input:checkbox').click(function() {
var t = $(this);
var inputs = $(this).closest('tr').find('td:eq(2) :input');
if (t.is(':checked')) {
inputs.attr('disabled', 'disabled');
} else {
inputs.removeAttr('disabled');
}
});