2010-04-19 48 views
19

câu hỏi của tôi là tiếp tục những gì tôi đã yêu cầu xem liên kết. Load Country/State/Citytrao đổi trên danh sách thả xuống

tôi đã mở rộng để tải danh sách thả xuống từ db và tôi chỉ cần một cách để chuyển đổi phương thức onchange trong danh sách thả xuống đầu tiên và thứ hai, vui lòng xem mã. đánh giá cao sự giúp đỡ nào.

Nối mã mới nhất:

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

nhưng không cư trú? cách tôi đang làm là làm thế nào bạn giả sử để làm gì?

cảm ơn.

Trả lời

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

làm cách nào để lấy id của phần tử thả xuống gốc (quốc gia)? –

+1

"quốc gia" không phải là "cha mẹ" trong HTML ở trên, nó chỉ đơn giản là một yếu tố khác. Đoạn mã trên, nhưng thay thế '# state' bằng' # country' sẽ nhận được cái bạn muốn. Hay tôi hiểu lầm? Thay vào đó, bạn có muốn phần tử "trước" không? – Graza

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

theo đó