2016-08-19 14 views
0

Ich habe eine HTML-Tabelle, eine Spalte ist Kontrollkästchen, und eine andere Spalte ist Option auswählen. Wenn das Kontrollkästchen aktiviert ist, muss die Auswahloption in derselben Zeile deaktiviert werden, und wenn das Kontrollkästchen deaktiviert ist, muss die Auswahloption in derselben Zeile aktiviert werden. Die jsfiddle Demo ist hier, bitte helfen http://jsfiddle.net/9zyvfzgs/1/Verwenden Sie jquery, um ausgewählte Option zu ändern, wenn Kontrollkästchen Zelle in einer Tabelle aktiviert ist

$("table tr td:nth-child(3) input[type=checkbox]").click(function(){ 
    $("table tr td:nth-child(2)").prop('disabled', true); 
}); 

Antwort

1

starten:

<table> 
    <tr> 
     <td> 
      <input type="checkbox"> 
     </td> 
     <td> 
      <select> 
       <option>item</option> 
      </select> 
     </td> 
     <td> 
      <select class="you-are-my-select"> 
       <option>item</option> 
      </select> 
     </td> 
     <td> 
      <select> 
       <option>item</option> 
      </select> 
     </td> 
    </tr> 
    <tr> 
     <td> 
      <input type="checkbox"> 
     </td> 
     <td> 
      <select> 
       <option>item</option> 
      </select> 
     </td> 
     <td> 
      <select class="you-are-my-select"> 
       <option>item</option> 
      </select> 
     </td> 
    </tr> 
</table> 

JS

$('input[type=checkbox]').on('change', function() { 
    var $this = $(this); 

    // option #1 
    //$this.closest('tr').find('select.you-are-my-select').prop('disabled', $this.is(':checked')); 

    // option #2, if the select always placed (for example) in third column 
    $this.closest('tr').find('> td:nth-child(3) select').prop('disabled', $this.is(':checked')); 
}); 

jsfiddle Link aktualisiert

DEMO

+0

Danke. Ich habe mehrere Auswahlmöglichkeiten in jeder Zeile, kann den Spaltenindex wie $ this.closest ('tr') angeben. Children (': eq (1)'). Prop ('deaktiviert', $ this.is (': checked ')); ? Die oben genannten Kinder arbeiten nicht. Entschuldigung, ich bin neu in JQuery. – peterpeng

+0

Um ein bestimmtes Element zu finden (in Ihrem Fall wählen Sie), müssen Sie 'class' oder' id' hinzufügen und dann das Element als Ziel verwenden. Könnten Sie 'class' oder' id' zu 'select' hinzufügen? –

+0

@peterpeng Ich habe gerade meine Antwort aktualisiert –

Verwandte Themen