2012-04-26 6 views
1

私はJqueryを初めて使い慣れており、本当に助けになります。別のtdが特定のテキストを表示する場合、チェックボックスを選択して無効にする方法

 <td> 
      Error: 
      <input name="[0].ValidationResult" type="hidden" value="Error:" /> 
     </td> 

     <td> 
      <input data-val="true" data-val-required="The isChecked field is required." name="[0].isChecked" type="checkbox" value="true" /><input name="[0].isChecked" type="hidden" value="false" /> 
     </td> 

私はエラーと同じ行のチェックボックスを無効に把握したいと思います:あなたの助けを

おかげ

私のテーブルには、多くのエラーなどの一部を持つ行を持っています。

答えて

4

このロジックは、サーバー上で行わが、何らかの理由であなたがJavaScriptでそれを行う必要がある場合すること:あなたが.prop()メソッドべき1.6+のjQueryを使用している場合

$(':hidden[value="Error:"]') 
    .closest('tr') 
    .find('td :checkbox') 
    .attr('disabled', 'disabled') 
    .attr('checked', 'checked'); 

としては、コメント欄で指摘.attrの代わりに使用することが:

$(':hidden[value="Error:"]') 
    .closest('tr') 
    .find('td :checkbox') 
    .prop('disabled', true) 
    .prop('checked', true); 
+0

.prop () 'が正しいかもしれません。 (一目惚れ!) –

+1

@ RokoC.Buljan、良い点。私はそれを考慮に入れて私の答えを更新しました。ありがとう。 –

+0

ありがとうDarin ...サーバーエラーがキャッチされた場合、チェックボックスをfalseに設定するロジックがあります。ただし、ユーザーはGUIでこれを選択/確認できます。サーバー上で無効にする方法があるかどうかはわかりませんでした。 – Mustang31

0

一つの方法は、エラー特定のクラス含有する細胞を得、そしてjQueryのセレクタにそのクラスを使用することです。

<td class="errorTd> 
    Error: 
    <input name="[0].ValidationResult" type="hidden" value="Error:" /> 
</td> 

<td> 
    <input data-val="true" data-val-required="The isChecked field is required." name="[0].isChecked" type="checkbox" value="true" /><input name="[0].isChecked" type="hidden" value="false" /> 
</td> 

今、あなたはこのようなクラス= "errorTd" を持つ細胞での入力を無効にすることができます `.ATTR()` `新生児titles``取得するには良いかもしれませんがIMO

$('.errorTd input').attr('disabled', 'disabled'); 
関連する問題