2011-04-27 8 views
34

이 코드의 잘못된 점은 무엇입니까?jQuery : 드롭 다운 목록에서 선택한 값을 설정 하시겠습니까?

jQuery를 그것은 '균형'이 선택한 옵션으로 날을 제공

<select id="routetype" name="routetype"> 
    <option value="fastest">Fastest</option> 
    <option selected="true" value="balanced">Balanced</option> 
    <option value="quietest">Quietest</option> 
</select> 

Fiddle

$(document).ready(function() { 
    $("#routetype").val('quietest'); 
)}; 

HTML하지 '조용한'.

+6

을 드롭 다운 옵션 값을 선택하고 구문 오류가 있기 때문에'$ (문서) .ready'이로 끝나야합니다' });'not')};'참조 : http://jsfiddle.net/x3UyB/2/ – mVChr

+1

@mVChr @mVChr 답변으로 게시해야합니다.) – LostLin

+0

@mVChr 감사합니다. 답변으로 게시하십시오 :) – simon

답변

31

당신은 왼쪽에있는 드롭 다운에 jQuery를 선택해야하고 이 });이 아니기 때문에 문법 오류가 발생했습니다. )};Check this link.

+4

감사합니다. 실제로 문제는 jQuery Mobile로 작업 중이므로'$ ("routetype"). selectmenu ('refresh');를 호출하여 표시된 내용을 업데이트해야합니다. – simon

+0

@imon, 감사합니다! 귀하의 의견에 많은 어려움이있었습니다. – you786

65

업데이트] 답변 :

올드 대답은 올바른 방법은 현재 jQuery의 .prop()을 사용하는 것입니다. IE, element.prop("selected", true)

OLD 답변 :

사용이 대신 :

$("#routetype option[value='quietest']").attr("selected", "selected"); 

Fiddle'd :http://jsfiddle.net/x3UyB/4/

+0

하드 코딩 된 값 (예 : "가장 조용함") 대신 변수를 사용하려면 어떻게해야합니까? –

+0

@Kevin 드롭 다운 값을 비교하기 위해 항상'$ ("routetype 옵션"). each()'를 사용하거나'$ ("routeetype 옵션 [value = '"+ option_value + "']") 만; – mattsven

+0

@mattsven, 나는이 옵션을 두 가지 옵션에서 'selected'로 선택합니다. 단지 FYI. –

3

당신은 당신이 왼쪽에있는 드롭 다운에 jQuery를 선택해야 이름으로

jQuery("#option_id").find("option:contains('Monday')").each(function() 
{ 
if(jQuery(this).text() == 'Monday') 
{ 
    jQuery(this).attr("selected","selected"); 
    } 
}); 
관련 문제