2012-02-08 28 views

Trả lời

13

Tôi đã tìm thấy câu trả lời. Vì vậy, đây đó là:

$(function() {  
     $('#items').selectmenu({ 
      change: function() { 
       alert('x'); 
      } 
     }); 
}); 
+0

Nó cũng có thể để thêm một hành vi onchange sau này, sau khi trình đơn selectmenu đã được bắt đầu. Chỉ cần chọn các mục có hành vi selectmenu và chỉnh sửa thuộc tính thay đổi, ví dụ: '$ ('# items'). change (function() {...})' – berliner

+0

@berliner giải pháp này không hoạt động đối với tôi ... Trả lại giải pháp của bạn chỉ hoạt động khi mở trang .. Không phải khi thay đổi chọn .. – Maxbester

+0

hai năm sau ... đây có phải là giải pháp duy nhất không? Trong dự án của tôi là tấn các hộp chọn với sự thay đổi hiện tại() - sự kiện và tất cả không hoạt động với selectmenu. – user706420

10

Vì đây đã đưa ra đầu tiên trên Google và không cho tôi câu trả lời tôi đang tìm kiếm, sau khi nhìn vào mã ui jquery nó có thể được thực hiện sau khi ban đầu thiết lập các lựa chọn thực đơn , ràng buộc với sự kiện selectmenuchange như dưới đây. Làm việc cho tôi anyway.

$('#items').selectmenu(); 

$('#items').on('selectmenuchange',function() { 

    alert("hello world"); 

}); 
1

Tôi vừa mới kéo tóc ra và tìm ra cách dễ dàng để thực hiện. Về cơ bản, bạn phải nói cho trình đơn selectmenu kích hoạt sự kiện thay đổi.

Khi bạn cài đặt Chọn Menu của bạn sử dụng phương pháp gần như vậy:

//Set select box to jQuery UI selectmenu 
$('select').selectmenu({ 
    close: function(event, ui){ 
     //Fire change event 
     $(this).change(); 
    } 
}); 

Sau đó, xác định sự kiện thay đổi của bạn như thế này:

$('#container').on('change', 'select', function(e){ 
    alert('x'); 
}); 
Các vấn đề liên quan