2016-08-31 8 views
0

Ich versuche, Kontrollkästchen nach Name in der folgenden Tabelle zu deaktivieren, aber es funktioniert nicht. Irgendwelche Vorschläge, warum?Jquery aktivieren/deaktivieren Kontrollkästchen nach Name

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

So deaktiviere/aktiviere ich diese Checkboxen. Ich habe versucht .attr ("deaktiviert", "deaktiviert"); zum Deaktivieren auch.

$("#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 (dies) .attr (" name ");' .... aber button hat keinen name attr – DaniP

Antwort

0

Rour Checkbox Namen sind cb1;1 und cb2;1, aber Sie versuchen, cbname zu wählen, versuchen Sie es auf sich ändernde:

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

Ein paar Dinge:

  1. Sie haben nicht belegt ein "name" Attribut für Ihre Schaltflächen, so dass es nicht die zugehörige Checkbox findet.

  2. Sie können nicht die cbname Variable in Ihrem Kontrollkästchen Selektor.

All dies zusammen sollte wie folgt aussehen:

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/

S.S .: Ich habe mir erlaubt, die Tasten zum Aktivieren und Deaktivieren der Schaltfläche entsprechend zu benennen.

Verwandte Themen