UNPKG

selectric-extended

Version:

Fast, simple and light jQuery plugin to customize HTML selects

2 lines 1.14 kB
/*! Selectric AddNew ϟ v0.1.0 (2014-01-14) - git.io/tjl9sQ - Copyright (c) 2015 David Shen (git.io/mhQmLQ) - Dual licensed: MIT/GPL */ (function(b){b(function(){b.fn.selectric||b.error("Selectric not initialized");var c=b.fn.selectric.hooks;c.add("BeforeInit","addNew",function(d,a){a.options=b.extend({createNewAutoSelect:!0,createNewMarkup:'<input type="text" /><button>Create</button>',allowCreateNew:!1,createNewCallback:b.noop,createNewError:function(){alert("Title required.")}},a.options)});c.add("Init","addNew",function(d,a){var e=b(d),c=e.closest("."+a.classes.wrapper).find("."+a.classes.scroll),g=b("<div/>",{"class":"createNew",html:a.options.createNewMarkup});if(a.options.allowCreateNew){c.prepend(g);var f=g.find("input[type=text]"),h=g.find("button");f.add(h).on("click",function(a){a.preventDefault();a.stopPropagation()});h.on("click",function(c){f.val()?(c=f.val(),e.append(b("<option>",{value:c,text:c})),a.options.createNewAutoSelect&&e.prop("selectedIndex",e.children().length-1),a.refresh(),a.open(),a.options.createNewCallback.call(d,c),f.add(h).off("click")):a.options.createNewError.call(d)})}})})})(jQuery);