2016-08-30 5 views
1

重複する値を含むselectリストがあります。私はこれを変える力はない。別の場所に重複する値がある場合、値で最初のオプションを選択してください

<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> 

、私がクリックし、link要素を持っている、$("#dropdown").val(1)呼び出します。この「別の名前のアイテム1」が選択されて表示されます。代わりに「アイテム1」を選択します。どうすればこれを達成できますか?

答えて

1

これを行うには、value属性でoption要素を選択し、:firstセレクタを使用します。これを試してみてください:

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

これを試してみてください。

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

私がドロップダウンに一つだけ重複する値が存在することになると思います。まず、同じ値の最初のオプションを選択するよりも、その値を見つける必要があります。

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"); 
関連する問題