1

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>

テーブルは動的に生成されますが、このようにレンダリングされます。これで、それぞれに<td>選択、チェックボックス、ボタンなどの複数のコントロールがありますが、すべての行と列で固定されているわけではありません。<td>Idを使用して、指定されたすべてのコントロールを無効にしようとしています。

私は次のjQueryを使用しましたが、それは仕事をしていないようです:

$('#' + td_id).select('*').each(function(element){element.disabled=true});

私も次のことを試しましたが、それでもうまくいかないようです:

$('#' + td_id).attr('disabled', 'false');

私は何か間違ったことをしていますか?助けてください。

ありがとう!

4

3 に答える 3

3

これを試して

$('#' + td_id).find(':input').prop("disabled", true);

:inputすべての入力要素を選択

于 2012-02-26T08:42:28.530 に答える
0

列(複数行)のすべてのコントロールを無効にする必要がある場合、その列のそれぞれにクラスを割り当てるのが最善の方法だと思いtdます。

たとえば、2 番目の列のコントロールを無効にする場合は、次のようにします。

<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>

それよりも、JQuery を使用すると、次のことができます。

$(".col-2 :input').prop("disabled", true);

それはうまくいくはずです...

于 2013-01-08T09:41:10.600 に答える