2016-04-05 11 views
1

Ich habe Tabelle in meiner Ansicht, in der die erste Spalte das Dropdown-Feld für jede Zeile enthält. Die letzte Spalte hat eine Schaltfläche, auf die ich klicken muss, um den Wert aus der Dropdown-Box zu erhalten. Ich habe für jede DropDown-Box eine ID angegeben. Aber ich kann den richtigen Wert nicht finden.Get Selected Wert von DropDownListFor basierend auf DropDown ID

<td class="col-md-2"> 
@Html.DropDownListFor(model => model.SelectedBranch, Model.BranchList, new { id = "ddBranch-" + item.ID, style = "display:none;", @Class = "form-control m-right-sm" }) 
</td> 

JS-Code:: Wenn ich eine einzelne Drop-Down-Box verwenden, werde ich Wert

HTML-Code gewünscht

Wenn ich nur eine Drop-Down-Box verwenden, unter Code funktioniert gut:

function update(id) { 
var branchid = $("#SelectedBranch").val(); 

Aber da ich mehr Dropdown-Box habe, habe ich versucht, unter Code:

function update(id) { 
var e = document.getElementById("ddBranch-" + id); 
var br = e.options[e.selectedIndex].value; 

Jetzt funktioniert die erste Anweisung gut. Ich bekomme Werte in var e. Ich überprüfte und fand, dass der zweite Artikel die Eigenschaft selected bis true hat. Aber die zweite Aussage gibt einen Fehler. Ich habe versucht, einige ähnliche Ansatz auf SO vorgeschlagen, aber nichts scheint zu funktionieren. Ich benutze asp.net mvc. Bitte beraten.

Antwort

2

Sie tun es nur auf die harte Art, Da Sie bereits dynamische IDs zu jedem Dropdown haben, können Sie die gleiche ID durch String-Verkettung erstellen. Verwenden Sie diese

var branchid = $("#ddBranch-" + id).val(); 
+0

Ah !!. Eigentlich war das ganz einfach. Danke vielmals. Das hat funktioniert. – Gaurav

+0

Wenn dies die richtige Antwort wäre, könnten Sie es als Antwort markieren? –

+1

versucht, es zu tun. Es ist ein Fehler aufgetreten, der nach 9 Minuten ausgeführt werden kann. Warten auf 9 Minuten, um abzuschließen :) – Gaurav

Verwandte Themen