2013-06-12 1 views
1

여기 [시간대 선택 목록] 내가 추가하려고

내 시도, 그것은 사용자의 시간대와 일치 HTML의 선택 목록에서 옵션을 "선택"- http://jsfiddle.net/HYfQ5/

I 아니에요 자바 스크립트/JQuery와 학생 : '(

HTML 목록 : -

<select name="timezone" id="timezone" required> 
<option value="Africa/Abidjan" > Africa/Abidjan</option> 
<option value="Africa/Accra" > Africa/Accra</option> 
<option value="Africa/Addis_Ababa" > Africa/Addis_Ababa</option> 
....... <!--Rest Item is in Above Link, Don't want to fill this place with 480 items --> 
</select> 

내 jQuery를 수정 : -

<script type="text/javascript" src="http://cdn.bitbucket.org/pellepim/jstimezonedetect/downloads/jstz-1.0.4.min.js"></script> 
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script> 
<script type="text/javascript"> 
$(document).ready(function() { 
    var tz = jstz.determine(); 
    var timez = new Array(); 
    var timez = $('#timezone').val(); 

    response_text = 'No timezone found'; 

    if (typeof (tz) === 'undefined') { 
     response_text = 'No timezone found'; 
    } 
    else { 
     response_text = tz.name(); 
    } 
    for(var i=0;i<array.length;i++) { 
     if (timez[i] === response_text) { 
      $('#timezone').attr('selected') 
     } 
    } 
}); 
</script> 

그래서 사용자 시간대와 일치 할 때마다 자동으로 "선택한"값을 선택 목록에 추가해야합니다.

자바 스크립트 시간대, 내가 사용하고 있습니다 : - http://pellepim.bitbucket.org/jstz/

감사합니다!

답변

0

당신이 시도 할 수 : 대신이의

$("#timezone option").each(function(){ 
    if($(this).val() == response_text){ 
     $(this).attr('selected','selected'); 
    } 
}) 

: 여기

for(var i=0;i<array.length;i++) { 
    if (timez[i] === response_text) { 
     $('#timezone').attr('selected') 
    } 
} 

작업 코드이 코드를 사용 해당 값이있는 경우 옵션을 선택합니다.

내가 코드를 변경 다음 만들었 :

var timez = $('#timezone'); 

을에 의해 루프에 대한 대체 : 당신이 옵션을 선택하는 선택 목록에() .val 설정하면

timez.val(response_text); 
+0

고마워! 이것은 일했다 :) –

0

기능에 약간의 버그가 있습니다. http://jsfiddle.net/HYfQ5/2/

에 발을()를 호출를 선택 http://jsfiddle.net/HYfQ5/1/

+0

감사합니다.하지만 내 페이지와 코드에 문제가 있습니다. 나는 http://jsfiddle.net/HYfQ5/2/를 따라 갔고 이제는 매력처럼 일하고있다. –

0

그 값으로.

$(document).ready(function() { 
var tz = jstz.determine(); 
response_text = 'No timezone found'; 

if (typeof (tz) === 'undefined') { 
    response_text = 'No timezone found'; 
} 
else { 
    response_text = tz.name(); 
} 
$('#timezone').val(response_text); 

}); 
관련 문제