2013-10-10 3 views
1

다중 선택 컨트롤에 바인드 된 일부 메소드를 사용할 때 몇 가지 문제가 있습니다.Jquery UI 다중 선택 widget checkall binded 메소드가 포스트 백 이후에 작동하지 않습니다.

페이지가로드, 나는 위젯이 방법을 방법을 바인딩 할 때 :

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

하지만 부분 다시 게시 후이 작동이 중지

. 아이디어가 있으십니까?

답변

-1

다중 선택을 만들 때 이것을 사용하려고 했습니까?

$("#myMultiselect").multiselect({ 

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

}); 

편집 : OK, 나는 클릭하는 경우에만 작동 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