diff options
-rw-r--r-- | documentation.html | 8 | ||||
-rw-r--r-- | js/jquery.multi-select.js | 16 |
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(){ |