2011-02-12 5 views
2

드롭 다운 목록에서 "알제리"를 기본 선택 값으로 선택하고 싶습니다. JSON 데이터 형식의 핸들러 (LoadCountryList.ashx)를 사용하여 데이터베이스에서 countrylist를 가져 와서 바인딩했습니다. jQuery의 $ .getJSON을 사용하여 aspx 페이지에 드롭 다운리스트하기는JQuery를 사용하여 드롭 다운 목록에서 기본값 선택 방법

function AddOptions(objSelect) 
{ 
    var URL ="~/LoadCountryList.ashx"; 
    $.getJSON(URL,function(countries){ 
     $.each(countries,function(){ 
      var vCountry = this['Country']; 
      $(objSelect).append($("<option></option>").val(this['ID']).html(vCountry)); 
     }); 
    }); 
} 

아래에 주어진 precedure 그리고 마지막으로 내가 기본값 "알제리"로 설정했습니다.

$(objSelect).find("option[text='Algeria']").attr("selected","selected"); 
OR 
$(objSelect).find("option[value='3']").attr("selected","selected"); 

그러나 그 사람은 나에게 아무런 제안도하지 않았다.

enter image description here

UPDATE :

이 또한 내가로드 같은 메시지를 기다리고 보여 ... 그것은 데이터베이스에서 전체 국가 목록을 얻을 때까지합니다.

+0

.each 루프에서 수행 할 수 없습니다. –

답변

3

값으로 수행하려면 val()(docs) 메서드를 사용할 수 있습니다.

$(objSelect).val('3'); 

텍스트 콘텐츠로는 가장 안전한 방법은 filter()(docs)입니다.

$(objSelect).find('option').filter(function() { 
    return this.text === 'Algeria'; 
}).attr('selected','selected'); 


편집 : 당신이 getJSON() 호출에 내부의 콜백을 그 일을하고 있는지 확인합니다.

+0

또한 작동하지 않습니다. – Sukhjeevan

+0

감사합니다 patric 그것은 charm.actually처럼 일한 이유는 그것이 작동하지 않았 getJSON() 함수 밖에서이 일을하고 있었다. 감사합니다. – Sukhjeevan

+0

한가지 더 기다리는 메시지를 보여주고 싶습니다. Loading ... 데이터베이스에서 완전한 국가 목록을 얻을 때까지 어떻게 할 수 있습니까? – Sukhjeevan

1
$(objSelect).val("Algeria"); 

해야합니다.

+0

시도했지만 작동하지 않습니다. – Sukhjeevan

0

이 작동합니다 :

$(objSelect).val("3"); 
+0

나는 이미 시도했습니다. – Sukhjeevan

0

이 시도 : -

$(objSelect).combobox("destroy");  
$(objSelect).val("Algeria"); 
$(objSelect).combobox(); 
0

전년 동기 대비도 .val이 하나

$ (objSelect) ('1')을 시도 할 수 있습니다;

관련 문제