2011-11-01 36 views
12

tôi có như sau:Làm cách nào để đặt tên và gọi hàm jQuery?

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

này hoạt động tốt nhưng tôi muốn để có thể gọi hàm() vào những thời điểm khác và không chỉ khi EID thay đổi. Ai đó có thể chỉ cho tôi cách tôi có thể kéo mã chức năng vào một khối riêng biệt với một tên và sau đó gọi tên hàm đó.

Trả lời

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

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

Nore rằng bạn phải không thêm () sau tên chức năng kể từ khi bạn muốn vượt qua chức năng, không phải giá trị trả về của nó.

Trong trường hợp bạn muốn vượt qua một số tham số để các chức năng, bạn muốn làm điều đó như thế này:

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

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

Cảm ơn rất nhiều. Đây chính xác là những gì tôi cần. Nếu tôi muốn chuyển tham số $ ('# EID'). Val() thì làm cách nào để khai báo tham số và sau đó sử dụng nó bên trong hàm? –

+0

@Samantha: Tốt nhất nên làm điều này trong một hàm chứa tất cả nội dung của bạn (được gọi là "chức năng phạm vi") bởi vì nếu không bạn tạo biểu tượng toàn cục và không gian toàn cầu trong trình duyệt web đã đủ đông đảo. Hai ví dụ: http://pastie.org/2792207 –

+0

@Samantha: * "Nếu tôi muốn chuyển tham số $ ('# EID'). Val() thì làm cách nào để khai báo tham số và sau đó sử dụng nó bên trong chức năng? "* Chính xác cách mà ThiefMaster trình bày trong phần thứ hai của câu trả lời, ví dụ: http://pastie.org/2792210 –

Các vấn đề liên quan