2011-11-01 18 views
12

Ben şu var:JQuery işlevini nasıl adlandırabilirim?

$('#EID').change(function() { 
       $.ajax({ 
        url: "/Administration/stats", 
        data: { DataSource: $('#DataSource').val(), 
          EID: $('#EID').val() 
        }, 
        success: function (data) { 
         $('#TID').html(data); 
        } 
       }); 
      }); 

Bu iyi çalışır ama diğer zamanlarda function() çağırmak isterler ve sadece zaman EID değişir. Birisi, fonksiyon kodunu bir isimle ayrı bir bloğa nasıl çekebileceğimi gösterebilir ve sonra bu fonksiyon adını çağırır. Eğer işlev değil, dönüş değerini geçmek istediğimiz için fonksiyon adından sonra () eklemeyin gerektiğini

cevap

31
function doSomething() { 
    $.ajax(...); 
} 

$('#EID').change(doSomething); 

Nore. işleve bazı parametre geçmek istediği durumda

, böyle yapardım:

function doSomething(someParam) { 
    $.ajax(...); 
} 

$('#EID').change(function() { 
    doSomething(whateverSomeParamShouldBe); 
}); 
+1

teşekkürler çok. Bu tam ihtiyacım olan şey. Eğer $ ('# EID') parametresini geçmek istediysem val() o zaman parametreyi nasıl ilan edip, fonksiyonun içinde kullanırdım? –

+0

@Samantha: Bu, genellikle tüm öğelerinizi içeren bir işlevle ("kapsamlama işlevi" olarak adlandırılır) sarılmışsa, genellikle en iyi durumda olur. Aksi halde genel simgeler oluşturursunuz ve web tarayıcılarındaki genel alan yeterince kalabalıktır. İki örnek: http://pastie.org/2792207 –

+0

@Samantha: * "Eğer $ ('# EID') parametresini geçmek istediysem val() o zaman nasıl parametreyi bildirir ve sonra da Fonksiyonu? * * Tam olarak ThiefMaster'ın cevabının ikinci yarısında gösterdiği yol, örnek: http://pastie.org/2792210 –

İlgili konular