Javascript 使用jQuery禁用表列的所有控件

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

我希望使用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>
    <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);