summaryrefslogtreecommitdiffstats
path: root/js/jquery.multi-select.js
diff options
context:
space:
mode:
authorlou <louiscuny@gmail.com>2011-12-16 14:43:03 +0100
committerlou <louiscuny@gmail.com>2011-12-16 14:43:03 +0100
commit825d837282a5826b162c87d7ebbb27c389cdc83e (patch)
treed8a8d333e56af47c338e8774f5e5e65199730606 /js/jquery.multi-select.js
parent90235394b23ade181a9663000b99cdb5bbc2836d (diff)
downloadmulti-select-825d837282a5826b162c87d7ebbb27c389cdc83e.zip
multi-select-825d837282a5826b162c87d7ebbb27c389cdc83e.tar.gz
multi-select-825d837282a5826b162c87d7ebbb27c389cdc83e.tar.bz2
fix #17: introduce visible param to select_all method
Diffstat (limited to 'js/jquery.multi-select.js')
-rw-r--r--js/jquery.multi-select.js16
1 files changed, 13 insertions, 3 deletions
diff --git a/js/jquery.multi-select.js b/js/jquery.multi-select.js
index ad5863f..56695de 100644
--- a/js/jquery.multi-select.js
+++ b/js/jquery.multi-select.js
@@ -203,10 +203,20 @@
}
}
},
- 'select_all' : function(){
- var ms = this;
+ 'select_all' : function(visible){
+ var ms = this,
+ selectableUl = $('#ms-'+ms.attr('id')+' .ms-selectable ul');
+
ms.find("option:not(option[value=''])").each(function(){
- ms.multiSelect('select', $(this).val(), 'select_all');
+ var value = $(this).val();
+ if (visible){
+ var selectableLi = selectableUl.children('li[ms-value="'+value+'"]');
+ if (selectableLi.filter(':visible').length > 0){
+ ms.multiSelect('select', value, 'select_all');
+ }
+ } else {
+ ms.multiSelect('select', value, 'select_all');
+ }
});
},
'deselect_all' : function(){