Подтвердить что ты не робот

JQuery выполняет onchange событие onload

У меня есть функция, которая в событии изменения запускает действия post.

$("select#marca").change(function(){
    var marca = $("select#marca option:selected").attr('value');
    $("select#modello").html(attendere);
$.post("select.php", {id_marca:marca}, function(data){
        $("select#modello").html(data);
    });
});

Я хотел бы выполнить эту функцию onload event. Является ли это возможным? Есть ли хороший способ сделать это?

4b9b3361

Ответ 1

Просто поместите его в функцию, затем вызовите его на готовом документе, например:

$(function () {
    yourFunction(); //this calls it on load
    $("select#marca").change(yourFunction);
});

function yourFunction() {
    var marca = $("select#marca option:selected").attr('value');
    $("select#modello").html(attendere);
    $.post("select.php", {id_marca:marca}, function(data){
        $("select#modello").html(data);
    });
}

Или просто вызвать change при загрузке страницы?

$(function () {
    $("select#marca").change();
});

Ответ 2

Если вы добавите .change() в конец, он будет вызываться сразу после привязки:

$(function() { 
    $("select#marca").change(function(){
        var marca = $("select#marca option:selected").attr('value');
        $("select#modello").html(attendere);
    $.post("select.php", {id_marca:marca}, function(data){
            $("select#modello").html(data);
        });
    }).change(); // Add .change() here
});

Или измените обратный вызов на фактическую функцию и вызовите это:

function marcaChange(){
    var marca = $("select#marca option:selected").attr('value');
    $("select#modello").html(attendere);
$.post("select.php", {id_marca:marca}, function(data){
        $("select#modello").html(data);
    });
}

$(function() { 
    $("select#marca").change(marcaChange);
    marcaChange();
});

Ответ 3

Действительно простой способ просто связать другое событие .change() до конца вашей функции изменения следующим образом:

$("#yourElement").change(function(){
   // your code here
}).change(); // automatically execute the on change function you just wrote

Ответ 4

Другой способ сделать

 $("select#marca").val('your_value').trigger('change');

Ответ 5

Чтобы вызвать onload, вы можете попробовать jQuery:

 $(document).ready(function(){
 onchange();// onload it will call the function
     });

Напишите свою функцию обмена, как это, так что это будет вызываться, когда происходит onchange,

function onchange(){
    var marca = $("select#marca option:selected").attr('value');
    $("select#modello").html(attendere);
    $.post("select.php", {id_marca:marca}, function(data){
    $("select#modello").html(data);
});