diff options
author | lou <louiscuny@gmail.com> | 2011-06-23 21:38:20 +0200 |
---|---|---|
committer | lou <louiscuny@gmail.com> | 2011-06-23 21:38:20 +0200 |
commit | 21a09a578f554cf3bf2782fd4799cbb219a05c8c (patch) | |
tree | 6700d583d5cee2a26b117051a9d1aa7dcfb3d5a0 | |
parent | e365cf25abe61f18a7bba025a150ef7d86051708 (diff) | |
parent | 957cb391da0571f10c15609aeb7774b1c949ce29 (diff) | |
download | multi-select-21a09a578f554cf3bf2782fd4799cbb219a05c8c.zip multi-select-21a09a578f554cf3bf2782fd4799cbb219a05c8c.tar.gz multi-select-21a09a578f554cf3bf2782fd4799cbb219a05c8c.tar.bz2 |
Merge branch 'master' of github.com:lou/multi-select
-rw-r--r-- | js/jquery.multi-select.js | 4 | ||||
-rw-r--r-- | js/jquery.multi-select.min.js | 12 |
2 files changed, 10 insertions, 6 deletions
diff --git a/js/jquery.multi-select.js b/js/jquery.multi-select.js index d264f63..ff49f7e 100644 --- a/js/jquery.multi-select.js +++ b/js/jquery.multi-select.js @@ -79,6 +79,8 @@ ms.multiSelect('deselect', $(this).attr('ms-value')); }); selectedUl.append(selectedLi); + selectedUl.trigger('change'); + selectableUl.trigger('change'); if (typeof ms.data('settings').afterSelect == 'function' && method != 'init') { ms.data('settings').afterSelect.call(this, value, text); } @@ -103,6 +105,8 @@ ms.val(newValues); selectableLi.show(); selectedLi.remove(); + selectedUl.trigger('change'); + selectableUl.trigger('change'); if (typeof ms.data('settings').afterDeselect == 'function') { ms.data('settings').afterDeselect.call(this, value, selectedLi.text()); } diff --git a/js/jquery.multi-select.min.js b/js/jquery.multi-select.min.js index c696a1b..94633d8 100644 --- a/js/jquery.multi-select.min.js +++ b/js/jquery.multi-select.min.js @@ -1,6 +1,6 @@ -(function(b){var h={init:function(a){this.settings={disabledClass:"disabled"};if(a)this.settings=b.extend(this.settings,a);var d=this;d.hide();d.each(function(){var a=b(this);a.attr("id",a.attr("id")!=void 0?a.attr("id"):"ms-"+Math.ceil(Math.random()*1E3));var f=b('<div id="ms-'+a.attr("id")+'" class="ms-container"></div>'),c=b('<div class="ms-selectable"></div>'),i=b('<div class="ms-selection"></div>'),g=b("<ul></ul>"),h=b("<ul></ul>");a.data("settings",d.settings);a.children("option").each(function(){var c= -b('<li ms-value="'+b(this).val()+'">'+b(this).text()+"</li>");b(this).attr("title")&&c.attr("title",b(this).attr("title"));if(b(this).attr("disabled")||a.attr("disabled"))c.attr("disabled","disabled"),c.addClass(d.settings.disabledClass);c.click(function(){a.multiSelect("select",b(this).attr("ms-value"))});g.append(c)});d.settings.selectableHeader&&c.append(d.settings.selectableHeader);c.append(g);d.settings.selectedHeader&&i.append(d.settings.selectedHeader);i.append(h);f.append(c);f.append(i);a.after(f); -a.children("option:selected").each(function(){a.multiSelect("select",b(this).val(),"init")})})},select:function(a,d){var e=this,f=e.val()?e.val():[],c=b.inArray(a,f),i=e.find('option[value="'+a+'"]').text();titleAttr=e.find('option[value="'+a+'"]').attr("title");if(c==-1||d=="init"){var c=b('<li ms-value="'+a+'">'+i+"</li>").detach(),f=b.merge(f,[a]),g=b("#ms-"+e.attr("id")+" .ms-selectable ul"),h=b("#ms-"+e.attr("id")+" .ms-selection ul"),g=g.children('li[ms-value="'+a+'"]');g.attr("disabled")|| -(g.hide(),e.val(f),titleAttr&&c.attr("title",titleAttr),c.click(function(){e.multiSelect("deselect",b(this).attr("ms-value"))}),h.append(c),typeof e.data("settings").afterSelect=="function"&&d!="init"&&e.data("settings").afterSelect.call(this,a,i))}},deselect:function(a){var d=this.val()?this.val():[],e=!1,d=b.map(d,function(b){if(b!=a)return b;else e=!0;return!1});if(e){var f=b("#ms-"+this.attr("id")+" .ms-selectable ul"),c=b("#ms-"+this.attr("id")+" .ms-selection ul"),f=f.children('li[ms-value="'+ -a+'"]'),c=c.children('li[ms-value="'+a+'"]');this.val(d);f.show();c.remove();typeof this.data("settings").afterDeselect=="function"&&this.data("settings").afterDeselect.call(this,a,c.text())}},select_all:function(){var a=this;a.children("option").each(function(){a.multiSelect("select",b(this).val(),"select_all")})},deselect_all:function(){var a=this;a.children("option").each(function(){a.multiSelect("deselect",b(this).val(),"deselect_all")})}};b.fn.multiSelect=function(a){if(h[a])return h[a].apply(this, -Array.prototype.slice.call(arguments,1));else if(typeof a==="object"||!a)return h.init.apply(this,arguments);else console.log&&console.log("Method "+a+" does not exist on jquery.multiSelect");return!1}})(jQuery);
\ No newline at end of file +(function(b){var a={init:function(c){this.settings={disabledClass:"disabled"};if(c){this.settings=b.extend(this.settings,c)}var d=this;d.hide();d.each(function(){var g=b(this);g.attr("id",g.attr("id")?g.attr("id"):"ms-"+Math.ceil(Math.random()*1000));var f=b('<div id="ms-'+g.attr("id")+'" class="ms-container"></div>'),h=b('<div class="ms-selectable"></div>'),j=b('<div class="ms-selection"></div>'),e=b("<ul></ul>"),i=b("<ul></ul>");if(g.children("option[value='']").length==0){g.prepend("<option value=''></option>") +}g.data("settings",d.settings);g.children("option:not(option[value=''])").each(function(){var k=b('<li ms-value="'+b(this).val()+'">'+b(this).text()+"</li>");if(b(this).attr("title")){k.attr("title",b(this).attr("title"))}if(b(this).attr("disabled")||g.attr("disabled")){k.attr("disabled","disabled");k.addClass(d.settings.disabledClass)}k.click(function(){g.multiSelect("select",b(this).attr("ms-value"))});e.append(k)});if(d.settings.selectableHeader){h.append(d.settings.selectableHeader)}h.append(e); +if(d.settings.selectedHeader){j.append(d.settings.selectedHeader)}j.append(i);f.append(h);f.append(j);g.after(f);g.children("option:selected").each(function(){g.multiSelect("select",b(this).val(),"init")})})},select:function(j,c){var d=this,m=((d.val()&&d.val()[0]!="")?d.val():[]),k=b.inArray(j,m),l=d.find('option[value="'+j+'"]').text(),h=d.find('option[value="'+j+'"]').attr("title");if(k==-1||c=="init"){var e=b('<li ms-value="'+j+'">'+l+"</li>").detach(),n=b.merge(m,[j]),f=b("#ms-"+d.attr("id")+" .ms-selectable ul"),i=b("#ms-"+d.attr("id")+" .ms-selection ul"),g=f.children('li[ms-value="'+j+'"]'); +if(!g.attr("disabled")){g.hide();d.val(n);if(h){e.attr("title",h)}e.click(function(){d.multiSelect("deselect",b(this).attr("ms-value"))});i.append(e);i.trigger("change");f.trigger("change");if(typeof d.data("settings").afterSelect=="function"&&c!="init"){d.data("settings").afterSelect.call(this,j,l)}}}},deselect:function(h){var d=this,j=(d.val()?d.val():[]),f=false,k=b.map(j,function(l){if(l!=h){return l}else{f=true}});if(f){var e=b("#ms-"+d.attr("id")+" .ms-selectable ul"),i=b("#ms-"+d.attr("id")+" .ms-selection ul"),g=e.children('li[ms-value="'+h+'"]'),c=i.children('li[ms-value="'+h+'"]'); +if(k.length==0){k=[""]}d.val(k);g.show();c.remove();i.trigger("change");e.trigger("change");if(typeof d.data("settings").afterDeselect=="function"){d.data("settings").afterDeselect.call(this,h,c.text())}}},select_all:function(){var c=this;c.children("option:not(option[value=''])").each(function(){c.multiSelect("select",b(this).val(),"select_all")})},deselect_all:function(){var c=this;c.children("option:not(option[value=''])").each(function(){c.multiSelect("deselect",b(this).val(),"deselect_all")}) +}};b.fn.multiSelect=function(c){if(a[c]){return a[c].apply(this,Array.prototype.slice.call(arguments,1))}else{if(typeof c==="object"||!c){return a.init.apply(this,arguments)}else{if(console.log){console.log("Method "+c+" does not exist on jquery.multiSelect")}}}return false}})(jQuery);
\ No newline at end of file |