2014-11-10 2 views
0

드롭 다운 메뉴에서 항목을 선택하는 방법에 대한 jQuery 문서에서 스 니펫을 발견했습니다.jQuery, 정확한 값으로 드롭 다운 항목 선택

$(element).find("option:contains(" + value + ")").attr('selected', 'selected'); 

이와 비슷한 두 가지 메뉴 항목이있는 경우를 제외하고는 다음과 같이 작동합니다. 내 메뉴에 2, 22, 222가 있고 값을 2로 설정하면 마지막 메뉴가 선택됩니다. contains가 아닌 exact match를 어떻게 지정합니까?

+2

루프와 엄격한 비교를. – j08691

답변

3

을 당신이 그것을 사용할 수있는 속성 value이있는 경우.

$(element).find('option[value="' + value + '"]').attr('selected', 'selected'); 

그렇지 않으면 요소를 필터링해야합니다. 값을 통해 http://api.jquery.com/filter/

var optionsThatContainValue = $(element).find('option').filter(function() { 
    return $(this).text().trim() === value; 
}); 
+0

값은 데이터베이스 ID이지만 옵션 –

0

이 작동합니다 :

$('option').each(function(){ 
    if($(this).text() == value){ 
     $(this).attr('selected','selected'); 
    } 
}); 
1

$(element).find("option[value='"+value+"']").attr('selected', 'selected');

+0

에 포함 된 텍스트를 찾고 싶습니다. 값에 표시된 텍스트 값이 아니라 데이터베이스 ID가 들어 있습니다. –