2017-01-04 1 views
2

Was ich in meinem Projekt versuche, ist, dass ich eine Tabelle mit zwei Zeilen habe.Holen Sie sich die Zeile ID, die Option aus Dropdown ausgewählt hat - jQuery

Die erste Zeile hat 3 Spalten und in jedem td gibt es ein Dropdown.

Zweite Reihe hat nur 1 Spalte.

Jetzt muss ich die ID der td abrufen, die einen bestimmten ausgewählten Wert aus dem Dropdown hat.

Was ich versuche, dies zu tun ist:

$("#R1C1,#R1C2,#R1C3,#R2C1").append($("#selectServices")); 
    $(" #selectServices").on('change', function(){ 
     if($("#selectServices option:selected").text()=="Check In"){ 
      // need code to get td id from select dropdown with text as Check In 
     } 
    }); 
}); 

Wo R1C1 für Zeile steht 1 Spalte 1 und so weiter ..
Select ist die ID für meine Drop-Down-
Check In ist die gewünschte Option Wert ich möchte von meinem Dropdown

+1

1. IDs müssen eindeutig sein 2. append das Objekt bewegt. Sie möchten es wahrscheinlich KLONEN - klicken Sie bitte auf das '<>', um ein [mcve] zu erstellen – mplungjan

Antwort

3

Ich denke, das ist, was Sie suchen. Überprüfen Sie den gewünschten Wert bei einer Änderung des Dropdown-Menüs selbst.

HTML:

<table id="table-id"> 
    <tr> 
    <td id="#R1C1"> 
     <select> 
     <option value="volvo">Volvo</option> 
     <option value="saab">Saab</option> 
     <option value="mercedes">Mercedes</option> 
     <option value="audi">Audi</option> 
     </select> 
    </td> 
    <td id="#R1C2"> 
     <select> 
     <option value="volvo">Volvo</option> 
     <option value="saab">Saab</option> 
     <option value="mercedes">Mercedes</option> 
     <option value="audi">Audi</option> 
     </select> 
    </td> 
    <td id="#R1C3"> 
     <select> 
     <option value="volvo">Volvo</option> 
     <option value="saab">Saab</option> 
     <option value="mercedes">Mercedes</option> 
     <option value="audi">Audi</option> 
     </select> 
    </td> 
    </tr> 
    <tr> 
    <td id="#R2C1"> 
     <select> 
     <option value="volvo">Volvo</option> 
     <option value="saab">Saab</option> 
     <option value="mercedes">Mercedes</option> 
     <option value="audi">Audi</option> 
     </select> 
    </td> 
    </tr> 
</table> 

JavaScript:

$(document).ready(function() { 
    $("select").on('change', function() { 
     if($(this).val() == "mercedes") { 
     console.log($(this).parent()[0].id) 
     } 
    }); 
}); 

JSFiddle:https://jsfiddle.net/nikdtu/yk0qzd85/

3

Sie tdclosest() zu gehen bis zu dem übergeordneten verwenden könnte dann verwenden attr() das id Attribut zu erhalten, wie:

$("#selectServices option:selected").closest('td').attr('id'); 

Hoffnung, das hilft.

Verwandte Themen