summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--documentation.html8
-rw-r--r--js/jquery.multi-select.js16
2 files changed, 17 insertions, 7 deletions
diff --git a/documentation.html b/documentation.html
index 0049068..af8ca73 100644
--- a/documentation.html
+++ b/documentation.html
@@ -84,18 +84,18 @@
</tr>
<tr>
<td>select</td>
- <td>value</td>
+ <td>value (String)</td>
<td>$('#my-select').multiSelect('select', 'fr');</td>
</tr>
<tr>
<td>deselect</td>
- <td>value</td>
+ <td>value (String)</td>
<td>$('#my-select').multiSelect('deselect', 'fr');</td>
</tr>
<tr>
<td>select_all</td>
- <td>-</td>
- <td>$('#my-select').multiSelect('select_all');</td>
+ <td>visible (optional Boolean)</td>
+ <td>$('#my-select').multiSelect('select_all', true);<br />If visible set to true, it will select only visible items on te selectable list. Otherwise it will also select hidden items.</td>
</tr>
<tr>
<td>deselect_all</td>
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(){