2013-10-10 51 views
1

我在嘗試使用綁定到我的多選控件的某些方法時遇到了一些問題。Jquery UI Multiselect部件checkall綁定方法在回發後停止工作

頁面加載時,我的方法這樣綁定到窗口小部件:

$('#myMultiselect').bind('multiselectcheckall', 
    function(event, ui){ 
     alert('All Multiselect items selected!'); 
    }); 
); 

但局部回傳後,這個停止工作。 任何想法?

回答

-1

您是否在創建多選按鈕時嘗試過使用此選項?

$("#myMultiselect").multiselect({ 

    checkAll: function(){ 
     alert('All Multiselect items selected!'); 
    } 

}); 

編輯: 好了,我明白,checkAll只有當點擊作品「檢查所有」按鈕。所以,你將獲得的每次點擊選中的項目的數量,並與項目的總量相比,這樣的:

var size = $(this).find('option').size(); //total items amount 
var checked = $(this).multiselect('getChecked').size(); //checked items amount 

click事件中使用它,不要忘了保持checkAll事件,因爲單擊「檢查所有」將不會觸發click事件:)

$("#myMultiselect").multiselect({ 
    click: function(){ 
     var size = $(this).find('option').size(); //total items amount 
     var checked = $(this).multiselect('getChecked').size(); //checked items amount 
     if (size == checked){ 
      alert('All Multiselect items (manually) selected!'); 
     } 
    }, 
    checkAll: function(){ 
     alert('All Multiselect items selected!'); 
    } 
}); 

這裏是一個演示:JSFiddle

希望我幫你!

+0

是的,它只是將方法綁定到窗口小部件的另一種方式。行爲是一樣的。 – alejo802

+0

'checkAll'只在點擊「全部檢查」時觸發,而不是在手動檢查每個項目時觸發。我已更新我的帖子以使其可以手動工作;) – risk

相關問題