2013-02-20 28 views
22

Değişiklik olayında post eylemlerini çalıştıran bir işleve sahibim.Yük altındayken Jquery yürütme onchange olayı

$("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); 
    }); 
}); 

Bu işlev etkinleştirme olayını gerçekleştirmek istiyorum. Mümkün mü? Bunu yapmanın iyi bir yolu var mı?

+0

Sen yük fonksiyonunu tetiklemek demek

bu gibi onchange işlevi yazın, böylece onchange oluştuğunda bu çağrılacak? denediniz mi: $ ("select # marca"). change(); – cernunnos

cevap

42

Bir işlevde, belgeye hazırda da şu şekilde hazırda arayın:

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

Veya sayfa yüklenirken sadece change'u çağırmak ister misiniz?

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

$ (window) .load (function() {{{}} { $ (işlev() { $ ("select # marca"). Değiştir(); }); ancak olay çalıştırılmıyor. –

+1

@PaoloRossi ' $ (function() '** zaten sayfa yükü üzerinde çalışacaktır ** bunu bir' $ (window) .load' içine sarmayın ve 'change 'olayını kaydetmeye çalışmadan önce kaydettiğinizden emin olun. – mattytommo

+0

Mükemmel! Çok teşekkür ederim! –

14

bunu bağlandıktan sonra hemen çağrılacak sonuna .change() eklerseniz:

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

Ya gerçek işlevine geri arama değiştirip öyle hitap: Sadece koydu

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

böyle senin değişikliği fonksiyonun sonuna başka .change() olay zincire sadece Gerçekten basit bir yol:

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

başka yolu yapmak

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

onload numaralı telefonu aramak için jQuery:

$(document).ready(function(){ 
onchange();// onload it will call the function 
    }); 
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); 
}); 
İlgili konular