Llamar a la función de cambio al inicio del documento

He implementado el siguiente código:

$('#select1').change(function() {
    var options = '';
    if($(this).val() == 'a') {
        options = '<option value="1">1</option><option value="2">2</option>';
    }
    else if ($(this).val() == 'b'){
        options = '<option value="3">3</option><option value="4">4</option>';
    }

    $('#select2').html(options);
});

Cuando se inicializa el documento, me gustaría llamar a la función de cambio por primera vez, para completar mi select, en lugar de cambiar las opciones para desencadenar change. ¿Es esto posible y cómo?

preguntado el 03 de julio de 12 a las 23:07

2 Respuestas

Esto debería hacer el trabajo:

$("#select1").trigger("change");

O incluso más corto:

$("#select1").change();

Entonces, finalmente, su código podría verse así:

$(function() {
    $("#select1").change(function() {
        var options = "";
        if ($(this).val() == "a") {
            options = '<option value="1">1</option><option value="2">2</option>';
        } else if ($(this).val() == "b") {
            options = '<option value="3">3</option><option value="4">4</option>';
        }

        $("#select2").html(options);
    }).trigger("change");
});

Respondido 03 Jul 12, 23:07

Activar el evento de cambio en el ready evento.

$(function(){      

  $('#select1').change(function() {
     var options = '';
     if($(this).val() == 'a') {
         options = '<option value="1">1</option><option value="2">2</option>';
     } 
     else if ($(this).val() == 'b'){
         options = '<option value="3">3</option><option value="4">4</option>';
     }
     $('#select2').html(options);
  });

  $("#select1").trigger("change");  

});

Respondido 03 Jul 12, 23:07

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.