2016-08-31 30 views
0

次の表のチェックボックスを名前で無効にしようとしていますが、機能しません。任意の提案、なぜですか?名前でJqueryを有効/無効にするチェックボックス

<table border="1" class="myTable grid"> 
    <tr align="center"> 
    <td>A</td> 
    </tr> 
    <tr align="center"> 
    <td>1</td> 
    <td> 
     <input type="checkbox" name="cb1;1" value="1"> 
    </td> 
    </tr> 
    <td>2</td> 
    <td> 
    <input type="checkbox" name="cb2;1" value="1" checked> 
    </td> 
    </tr> 
    <tr align="center"> 
</table> 
<button id="button1" type="button"> DISABLE </button> 
<button id="button2" type="button">ENABLE </button> 

これは私がこれらのチェックボックスを無効/有効にする方法です。私は.attr( 'disabled'、 'disabled')を試しました。無効にするためにも。

$("#button1").click(function() { 
    var cbname = $j(this).attr("name"); 
    $("input[name='cbname']").prop("disabled", false); 
}); 

$("#button2").click(function() { 
    var cbname = $j(this).attr("name"); 
    $("input[name='cbname']").prop("disabled", true); 
}); 
+0

'var cbname = $ j(this).attr(" name ");' ....ボタンには名前がありませんattr – DaniP

答えて

0

Rourチェックボックス名はcb1;1cb2;1ですが、あなたはそれを変更してみてください、cbnameを選択しようとしている。いくつかの事

$("input[name='cb1;1']").prop("disabled", false); 
1

:あなたが割り当てられていない

  1. ボタンに"name"属性が含まれているため、関連するチェックボックスが見つかりません。

  2. チェックボックスのセレクタでcbname変数をエスケープしていません。すべて一緒に

これは次のようになります。

HTML:

<table border="1" class="myTable grid"> 
     <tr align="center"> 
     <td>A</td> 
     </tr> 
     <tr align="center"> 
     <td>1</td> 
     <td> 
      <input type="checkbox" name="cb1;1" value="1"> 
     </td> 
     </tr> 
     <tr> 
     <td>2</td> 
     <td> 
      <input type="checkbox" name="cb2;1" value="1" checked> 
     </td> 
     </tr> 
     <tr align="center"> 
    </table> 
    <button id="disable" type="button" name="cb1;1"> DISABLE </button> 
    <button id="enable" type="button" name="cb1;1">ENABLE </button> 

Javascriptを:

$("#disable").click(function() { 
     var cbname = $(this).attr("name"); 
     $('input[name="'+cbname+'"]').prop("disabled", true); 
    }); 

    $("#enable").click(function() { 
     var cbname = $(this).attr("name"); 
     $('input[name="'+cbname+'"]').prop("disabled", false); 
    }); 

JSFiddle:https://jsfiddle.net/x324436z/

P .:私はあなたの有効化および無効化ボタンIDの名前を適切に指定しました。

関連する問題