2016-08-30 2 views
1

Ich habe eine select Liste, die doppelte Werte enthält. Ich habe nicht die Macht, das zu ändern.Wählen Sie die erste Option nach Wert, wenn doppelte Werte vorhanden sind

<select id="dropdown"> 
    <option value="1">Item 1</option> 
    <option value="1">Item 1 again under a different name</option> 
    <option value="2">Item 2</option> 
</select> 

In einem anderen Ort, habe ich ein Verbindungselement, das, wenn, $("#dropdown").val(1) ruft geklickt. Dieser "Punkt 1 wieder unter einem anderen Namen" wird ausgewählt und angezeigt. Ich möchte stattdessen "Artikel 1" auswählen. Wie kann ich das erreichen?

Antwort

1

Um dies zu tun, können Sie das option Element durch das value Attribut auswählen und den :first Selektor verwenden. Versuchen Sie folgendes:

var value = 1; 
 
$('#dropdown option[value="' + value + '"]:first').prop('selected', true);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<select id="dropdown"> 
 
    <option>Please select...</option> 
 
    <option value="1">Item 1</option> 
 
    <option value="1">Item 1 again under a different name</option> 
 
    <option value="2">Item 2</option> 
 
</select>

0

Dieses versuchen:

$("#dropdown option[value=1]:first").prop({selected:true}); 
0

Ich denke, es wird nur ein doppelter Wert in Dropdown sein. Zuerst müssen Sie diesen Wert finden, anstatt die erste Option mit demselben Wert auszuwählen.

var arrDuplicate = []; 
var duplicateVal = 0; 
$("#dropdown option").each(function() { 
if (arrDuplicate.indexOf($(this).val()) > -1) 
    duplicateVal = $(this).val(); 
arrDuplicate.push($(this).val()); 
}); 

$("#dropdown option[value=" + duplicateVal + "]:first").attr("selected", "selected"); 
Verwandte Themen