2010-04-19 26 views
19

mi pregunta es la continuación de lo que he pedido ver el enlace. Load Country/State/Cityonchange en la lista desplegable

Tengo expandir para cargar mi lista desplegable de db y solo necesito una forma de cablear el método de cambio en mi primera lista desplegable y segundo, por favor vea el código. agradecer cualquier ayuda.

Anexar último código:

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

pero no llena? la forma en que estoy haciendo es ¿cómo se supone que debes hacer?

gracias.

Respuesta

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

¿Cómo consigo el id de un padre (país) elemento desplegable? –

+1

"país" no es un "padre" en el código HTML de arriba, es simplemente otro elemento. El código anterior, pero reemplazando '# state' con' # country' obtendría lo que desea. ¿O estoy malentendido? ¿Quieres el elemento "anterior" en su lugar? – Graza

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

bajo el cual