diff options
Diffstat (limited to 'js/jquery.multi-select.1.6.js')
-rw-r--r-- | js/jquery.multi-select.1.6.js | 138 |
1 files changed, 0 insertions, 138 deletions
diff --git a/js/jquery.multi-select.1.6.js b/js/jquery.multi-select.1.6.js deleted file mode 100644 index 92e4c87..0000000 --- a/js/jquery.multi-select.1.6.js +++ /dev/null @@ -1,138 +0,0 @@ -(function($){ - var msMethods = { - - - 'init' : function(options){ - this.settings = { - disabledClass : 'disabled', - standardBehavior : true - }; - if(options) { - this.settings = $.extend(this.settings, options); - } - - var multiSelects = this; - multiSelects.hide(); - - multiSelects.each(function(){ - var ms = $(this); - - ms.attr('id', ms.attr('id') ? ms.attr('id') : Math.ceil(Math.random()*1000)); - var container = $('<div id="ms-'+ms.attr('id')+'" class="ms-container"></div>'), - selectableContainer = $('<div class="ms-selectable"></div>'), - selectedContainer = $('<div class="ms-selection"></div>'), - selectableUl = $('<ul></ul>'), - selectedUl = $('<ul></ul>'); - - if (ms.children("option[value='']").length == 0 && multiSelects.settings.standardBehavior == false){ - ms.prepend("<option value=''></option>"); - } - ms.data('settings', multiSelects.settings); - ms.children("option:not(option[value=''])").each(function(){ - var selectableLi = $('<li ms-value="'+$(this).val()+'">'+$(this).text()+'</li>'); - - if ($(this).prop('title')) - selectableLi.prop('title', $(this).prop('title')); - if ($(this).prop('disabled') || ms.prop('disabled')){ - selectableLi.prop('disabled', 'disabled'); - selectableLi.addClass(multiSelects.settings.disabledClass) - } - selectableLi.click(function(){ - ms.multiSelect('select', $(this).attr('ms-value')); - }); - selectableUl.append(selectableLi); - }); - if (multiSelects.settings.selectableHeader){ - selectableContainer.append(multiSelects.settings.selectableHeader); - } - selectableContainer.append(selectableUl); - if (multiSelects.settings.selectedHeader){ - selectedContainer.append(multiSelects.settings.selectedHeader); - } - selectedContainer.append(selectedUl); - container.append(selectableContainer); - container.append(selectedContainer); - ms.after(container); - ms.children('option:selected').each(function(){ - ms.multiSelect('select', $(this).val(), 'init'); - }); - }); - }, - 'select' : function(value, method){ - var ms = this, - msValues = ((ms.val() && ms.val()[0] != '') ? ms.val() : []), - alreadyPresent = $.inArray(value, msValues), - text = ms.find('option[value="'+value+'"]').text(), - titleAttr = ms.find('option[value="'+value+'"]').attr('title'); - - if(alreadyPresent == -1 || method == 'init'){ - var selectedLi = $('<li ms-value="'+value+'">'+text+'</li>').detach(), - newValues = $.merge(msValues, [value]), - selectableUl = $('#ms-'+ms.attr('id')+' .ms-selectable ul'), - selectedUl = $('#ms-'+ms.attr('id')+' .ms-selection ul'), - selectableLi = selectableUl.children('li[ms-value="'+value+'"]'); - - if (!selectableLi.prop('disabled')){ - selectableLi.hide(); - ms.val(newValues); - if(titleAttr){ - selectedLi.prop('title', titleAttr) - } - selectedLi.click(function(){ - ms.multiSelect('deselect', $(this).attr('ms-value')); - }); - selectedUl.append(selectedLi); - if (typeof ms.data('settings').afterSelect == 'function' && method != 'init') { - ms.data('settings').afterSelect.call(this, value, text); - } - } - } - }, - 'deselect' : function(value){ - var ms = this, - msValues = (ms.val() ? ms.val() : []), - present = false, - newValues = $.map(msValues, function(e){ if(e != value){ return e; }else{ present = true}}); - - if(present){ - var selectableUl = $('#ms-'+ms.attr('id')+' .ms-selectable ul'), - selectedUl = $('#ms-'+ms.attr('id')+' .ms-selection ul'), - selectableLi = selectableUl.children('li[ms-value="'+value+'"]'), - selectedLi = selectedUl.children('li[ms-value="'+value+'"]'); - - if (newValues.length == 0 && ms.data('settings').standardBehavior == false){ - newValues = ['']; - } - ms.val(newValues); - selectableLi.show(); - selectedLi.remove(); - if (typeof ms.data('settings').afterDeselect == 'function') { - ms.data('settings').afterDeselect.call(this, value, selectedLi.text()); - } - } - }, - 'select_all' : function(){ - var ms = this; - ms.children("option:not(option[value=''])").each(function(){ - ms.multiSelect('select', $(this).val(), 'select_all'); - }); - }, - 'deselect_all' : function(){ - var ms = this; - ms.children("option:not(option[value=''])").each(function(){ - ms.multiSelect('deselect', $(this).val(), 'deselect_all'); - }); - } - }; - - $.fn.multiSelect = function(method){ - if ( msMethods[method] ) { - return msMethods[method].apply( this, Array.prototype.slice.call( arguments, 1 )); - } else if ( typeof method === 'object' || ! method ) { - return msMethods.init.apply( this, arguments ); - } else { - if(console.log) console.log( 'Method ' + method + ' does not exist on jquery.multiSelect' ); - } - return false; - }; -})(jQuery);
\ No newline at end of file |