2010-04-19 19 views
19

पर मेरा खाता जो मैंने पूछा है, उसका लिंक जारी है। Load Country/State/Cityड्रॉपडाउन सूची

मैंने डीबी से अपनी ड्रॉप डाउन सूची लोड करने के लिए विस्तार किया है और मुझे अपनी पहली ड्रॉपडाउन सूची में दूसरे पर अस्थायी विधि को तार करने के लिए एक तरीका चाहिए और दूसरा, कृपया कोड देखें। किसी भी मदद की सराहना करते हैं।

संलग्न नवीनतम कोड:

<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); 
    }); 
} 

लेकिन पॉप्युलेट नहीं करता है? जिस तरह से मैं कर रहा हूं वह यह है कि आप कैसे करना चाहते हैं?

धन्यवाद।

उत्तर

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

मैं एक माता पिता (देश) लटकती तत्व की आईडी कैसे मिलता है? –

+1

उपरोक्त HTML में "देश" "मूल" नहीं है, यह केवल एक और तत्व है। उपर्युक्त कोड, लेकिन '# देश' के साथ' # राज्य' को प्रतिस्थापित करने से आप जो चाहते हैं उसे प्राप्त करेंगे। या मैं गलतफहमी हूँ? क्या आप इसके बजाय "पिछले" तत्व चाहते हैं? – Graza

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

जिसके अंतर्गत