2016-06-23 3 views
-2

Ich möchte ein Kontrollkästchen aktivieren oder deaktivieren, das Teil eines tr ist.Un/Checkbox in der Tabelle gefunden nach Name (Tabellenwert)

Von diesem tr habe ich bereits den Namen als Information.

Ich brauche so etwas wie "Uncheck Checkbox auf tr wo tr.name = $ name"

<tr> 
    <td id="klauselname"> 
      002 
    </td> 
    <td> 
      50591 
    </td> 
    <td> 
      Text 
    </td> 
    <td id="td-center"> 
      <input class="check-box" disabled="disabled" type="checkbox" /> 
    </td> 

</tr> 
<tr> 
    <td id="klauselname"> 
      003 
    </td> 
    <td> 
      50601 
    </td> 
    <td> 
      Text 
    </td> 
    <td id="td-center"> 
      <input class="check-box" disabled="disabled" type="checkbox" /> 
    </td> 
</tr> 

u eine Idee haben Sie? o.o

+1

testen Sie die gleichen DOM ID mehrere Male in Ihrem Code verwenden. Vermeiden Sie das, dies führt zu mehreren Fehlern. – wtfzn

+0

Sie haben ungültiges HTML; Zwei Elemente mit demselben 'id'-Eigenschaftswert sind nicht zulässig. Stattdessen sollten Sie einen Klassennamen verwenden. Was den anderen Teil der Frage betrifft: Ja, wir haben eine Idee. Aber was ist in deinem eigenen Code falsch gelaufen? Welchen Code hast du probiert? –

+0

Sie verwenden die gleiche 'id', die ungültig ist, und keines der Kontrollkästchen hat ein 'name' Attribut –

Antwort

0

Zuallererst, wie andere darauf hingewiesen haben, sollten IDs in Ihrem DOM immer eindeutig sein. Sie können Klassen oder andere Attribute für die Massenbearbeitung verwenden, aber keine IDs.

Lassen Sie also die doppelten IDs löschen und fügen Sie gleichzeitig einige IDs in Ihre Checkboxen ein.

<tr> 
<td id="myUniqueID_1">002</td> 
<td>50591</td> 
<td>Text</td> 
<td class="td-center" id="myUniqueID_3"> 
    <input id='myCheckBox_1' class="check-box" disabled="disabled" type="checkbox" /> 
</td> 
</tr> 
<tr> 
<td id="myUniqueID_2">003</td> 
<td>50601</td> 
<td>Text</td> 
<td class="td-center" id="myUniqueID_4"> 
    <input id='myCheckBox_2' class="check-box" disabled="disabled" type="checkbox" /> 
</td> 
</tr> 

Jetzt können wir eine Funktion hinzufügen, die die Checkbox-Änderungen übernehmen wird. Wir werden die geprüfte Eigenschaft verwenden und sie in false oder true je nach Bedarf ändern.

<script> 
    function changeState(elID){ 
    var myCheckBoxStatus = document.getElementById(elID).checked; 

    if(myCheckBoxStatus) 
     document.getElementById(elID).checked = false; 
    else 
     document.getElementById(elID).checked = true; 
    } 
</script> 

und lässt auch Platz eine Schaltfläche

<button onclick='changeState("myCheckBox_2");'>Toggle</button> 
+0

Vielen Dank. Nachdem ich meinen Rasierklingen-Code bearbeitet hatte, konnte ich eine ID hinzufügen, die ich jetzt verwenden kann. Und natürlich habe ich alle IDs in classes ^^ geändert –