2013-10-10 2 views
1

Je rencontre des problèmes lorsque j'essaie d'utiliser certaines méthodes que j'ai liées à mon contrôle multisélect.Jquery UI Multiselect widget checkall méthode liée cesse de fonctionner après la publication

Lorsque le chargement de la page, je lient une méthode pour le widget cette façon:

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

mais après une publication partielle ce cesse de fonctionner. Des idées?

Répondre

-1

Avez-vous essayé de l'utiliser lors de la création de votre multiselect?

$("#myMultiselect").multiselect({ 

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

}); 

EDIT: OK, je l'ai compris que checkAll ne fonctionne que lorsque vous cliquez sur le bouton "Vérifier tout". Donc, vous devrez obtenir le nombre d'éléments vérifiés sur chaque clic et le comparer avec le montant total des articles, comme ceci:

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

Utilisez-le avec un événement click, et ne pas oublier de garder le checkAll événement car en cliquant sur « vérifier tous » ne se déclenche pas click événement :)

$("#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!'); 
    } 
}); 

Voici une démo: JSFiddle

espoir que je vous ai aidé !!

+0

Oui, c'est juste l'autre façon de lier une méthode au widget. Le comportement est le même .. – alejo802

+0

'checkAll' ne se déclenche que lorsque vous cliquez sur" check all "et non lors de la vérification manuelle de tous les éléments. J'ai mis à jour mon post pour le faire fonctionner manuellement;) – risk

Questions connexes