2010-04-19 37 views
19

Soruma sahip olmak istediğim şeyin devamıdır. Load Country/State/Citydropdown listesine göz atın

Açılır listeyi db'den yüklemek için genişletiyorum ve sadece ilk açılır listeden tel onchange yöntemine ihtiyacım var ve ikincisi, lütfen kodu inceleyin. herhangi bir yardım için teşekkür ederiz.

Ekleme son kod:

<select id="country" onchange="getStateByCountryId()"></select> <br /> 
<select id="state"></select> <br /> 


$(document).ready(function() { 
    var options = { 
     type: "POST", 
     url: "SearchPage.aspx/LoadCountry", 
     data: "{}", 
     contentType: "application/json; charset=utf-8", 
     dataType: "json", 

     success: function(msg) { 

      var returnedArray = msg.d; 
      country = $("#country"); 
       country.append('<option>Select a Country</option>'); 

      for (i = 0; i < returnedArray.length; i++) { 
        country.append("<option value='" + returnedArray[i].Id + "'>" + returnedArray[i].Name + "</option>"); 
      } 


     } 
    }; 
    $.ajax(options); 
}); 


function getStateByCountryId() { 

    $("#country").change(function() 
    { 
     var _selected = $("#country").val(); 
     var options = 
     { 
      type: "POST", 
      url: "SearchPage.aspx/StateBy", 
      data: "{'countryId':'" + _selected + "'}", 
      contentType: "application/json; charset=utf-8", 
      dataType: "json", 

      success: function(msg) { 
       $('#state').empty(); 
       var returnedArray = msg.d; 


       state = $("#state"); 
       for (var i = 0; i < returnedArray.length; ++i) { 
        state.append("<option value='" + returnedArray[i].Id + "'>" + returnedArray[i].Name + "</option>"); 
       } 
      } 
     }; 
     $.ajax(options); 
    }); 
} 

ama doldurmuyor? Yaptığım şey, bunu yapmayı düşündüğün şey mi?

Teşekkürler.

cevap

25
$("#state").change(function(){ 
    //on-change code goes in here. 
    //variable "this" references the state dropdown element 
}); 
+0

nasıl ben bir ebeveyn (ülke) açılan elemanının kimliği alabilirim? –

+1

"ülke" yukarıdaki HTML’de bir "ebeveyn" değil, sadece başka bir unsur. Yukarıdaki kod, ancak # devletin # ülkeyle değiştirilmesi, istediğiniz şeyi alacaktır. Yoksa yanlış anlaşılıyor muyum? Bunun yerine "önceki" elemanı ister misiniz? – Graza

3
$(this).parent("select").attr("id"); 
+0