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é !!
Oui, c'est juste l'autre façon de lier une méthode au widget. Le comportement est le même .. – alejo802
'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