2011-09-13 8 views
1

나는 동적으로 옵션을 만듭니다. 모든 값을 바인딩하지만 드롭 다운 메뉴에서 값을 선택하면 콤보 상자에 표시되지 않습니다. 이 문제를 해결하는 방법은 도와주세요. 사전에 감사선택한 값이 html의 선택 옵션에 표시되지 않습니다.

HTML :

<select name= "cityNameOption" id = "cityNameOption" > 
    <option value="0">All</option></select> 

JS :

// cityList = [{"id":3,"name":"Hospitals"},{"id":1,"name":"Hotels"},{"id":2,"name":"Shopping Mall"}]; 


     var cityObject = jQuery.parseJSON(cityList); 
     var cityOptions = document.getElementById("cityNameOption"); 


    for (var i = 1; i <= cityObject.length; i++) { 

     cityOptions.options[i] = new Option(cityObject[i - 1].name, cityObject[i - 1].id); 
    } 
+0

그것은 자바 스크립트 오류 다른 코드의 일부, 또는 기타의 결과 일 수 이 select에서'change' 이벤트를 듣고 그것을 취소하거나 값을 디폴트 값으로 리셋하는 코드. 이런 종류의 문제를 일으킬 수있는 예제 코드에는 아무것도 표시되지 않습니다. – WTK

+0

그냥 사소한 nit; [HTML에는 콤보 상자가 없습니다] (http://www.coderanch.com/howto/java/HtmlHasNoComboBox) :) –

+0

@ALL : jQuery 모바일 베타 3을 테스트 했습니까? – selladurai

답변

1

이 시도 :

<select name= "cityNameOption" id = "cityNameOption" > 
    <option value="0">All</option> 
</select> 
<script type="text/javascript"> 
    //warning 1: js-code must be after HTML 
    //warning 2: JSON-object must be as a string; 
    var cityList = '[{"id":3,"name":"Hospitals"},{"id":1,"name":"Hotels"},{"id":2,"name":"Shopping Mall"}]'; 
    var cityObject = $.parseJSON(cityList); 
    for (var i = 1; i <= cityObject.length; i++) { 
    $("#cityNameOption").append('<option value='+cityObject[i - 1].id+'>'+cityObject[i - 1].name+'</option>'); 
    } 
</script> 
+0

이 나옵니다.하지만 병원을 선택하면 콤보 상자에 표시되지 않습니다. – selladurai

+0

잘 모르겠습니다. 위의 내 exapmle은 잘 작동합니다 ... – SergO

+0

@ALL : jQuery mobile 베타 3? – selladurai

관련 문제