Javascript 使用jQuery禁用表列的所有控件
我希望使用jQuery禁用指定表列(td)的所有元素(控件) 我的表格如下所示:Javascript 使用jQuery禁用表列的所有控件,javascript,jquery,html,tablerow,rowid,Javascript,Jquery,Html,Tablerow,Rowid,我希望使用jQuery禁用指定表列(td)的所有元素(控件) 我的表格如下所示: <table> <tr> <td id="1.1.tcol"></td> <td id="1.2.tcol"></td> <td id="1.3.tcol"></td> <td id="1.4.tcol"></td> </tr> <tr
<table>
<tr>
<td id="1.1.tcol"></td>
<td id="1.2.tcol"></td>
<td id="1.3.tcol"></td>
<td id="1.4.tcol"></td>
</tr>
<tr>
<td id="2.1.tcol"></td>
<td id="2.2.tcol"></td>
<td id="2.3.tcol"></td>
<td id="2.4.tcol"></td>
</tr>
</table>
该表是动态生成的,但它是这样呈现的。现在,我的每个
都有多个控件,如select、checkbox、button,但不是针对每一行和每一列固定的。我希望通过使用指定的
的Id来禁用它的所有控件
我使用了以下jQuery,但它似乎无法完成这项工作:
$('#'+td_id).选择('*').each(函数(元素){element.disabled=true})代码>
我也尝试了以下方法,但似乎仍然不起作用:
$('#'+td_id).attr('disabled','false')代码>
我做错什么了吗?请帮忙
谢谢 试试这个
$('#' + td_id).find(':input').prop("disabled", true);
选择所有输入元素如果需要禁用列(多行)中的所有控件,我认为最好的方法是为该列中的每个td
分配一个类
例如,如果要禁用第二列中的控件,可以执行类似操作:
<table>
<tr>
<td id="1.1.tcol"></td>
<td id="1.2.tcol" class="col-2"></td>
<td id="1.3.tcol"></td>
<td id="1.4.tcol"></td>
</tr>
<tr>
<td id="2.1.tcol"></td>
<td id="2.2.tcol" class="col-2"></td>
<td id="2.3.tcol"></td>
<td id="2.4.tcol"></td>
</tr>
</table>
它应该有用…我认为这应该有用:
<table>
<tr><td>
<input type="text" />
<input type="radio" />
<input type="checkbox" />
<select>
<option>1233</option>
</select>
</td>
</tr>
<tr><td>
<input type="text" />
<input type="radio" />
<input type="checkbox" />
<select>
<option>second</option>
</select>
</td>
</tr>
如果您使用的是JQuery1.6或更高版本,请使用prop(),否则请使用attr()。似乎不起作用。此外,并非所有控件都属于“输入”类型。有选择下拉列表、文本框、按钮、复选框。请检查答案中的链接。。它确实选择了所有的输入元素soops…抱歉。不知道:输入选择所有控件。认为它只选择输入类型。但您提供的代码没有禁用:(
<table>
<tr><td>
<input type="text" />
<input type="radio" />
<input type="checkbox" />
<select>
<option>1233</option>
</select>
</td>
</tr>
<tr><td>
<input type="text" />
<input type="radio" />
<input type="checkbox" />
<select>
<option>second</option>
</select>
</td>
</tr>
$('tr').children().eq(0).find(':input').prop("disabled", true);