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. Является ли это возможным?
Есть ли хороший способ сделать это?
Ответы
Ответ 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);
});