-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathjquery.cascadeSelect.min.js
5 lines (5 loc) · 1.39 KB
/
jquery.cascadeSelect.min.js
1
2
3
4
5
/*!
* jQuery CascadeSelect Plugin <by zendo <[email protected]>>
* - Ver: 0.0.2, Build: Sun, 15 Mar 2020 16:19:27 GMT
* - Repos: https://github.com/jzendo/jquery.cascadeSelect.git
*/"use strict";(function(a){var b="previous-uppertier.cascadeSelect";(function(b){a.fn.val=function(c){if(!arguments.length)return b.call(this);var d=b.call(this,c);return d.each(function(){a(this).data("inited.cascadeSelect")&&a(this).trigger("cascadeSelectChange")})}})(a.fn.val);var c=function(a,b){if(b&&a!==void 0){for(var c,d=a.split(";"),e=[],f=0,g=d.length;f<g;f++)c=d[f],b[c]&&(e=e.concat(b[c]));return e}return null},d=function(a,b){return"<option value=\""+a+"\">"+b+"</option>"},e=function(e,f,g){var i=c(g,f.dataSource),j=a(e);if(!i)throw new Error("Missing data, key="+g);else if(j.data(b)!==g){var k,l,m=[],n=[];a.each(i,function(a,b){n.push(b.id),m.push(d(b.id,b.label))}),m.unshift(d(n.join(";"),null!==(k=null===f||void 0===f||null===(l=f.labels)||void 0===l?void 0:l.all)&&void 0!==k?k:"\u5168\u90E8")),j.html(m.join("")),j.data(b,g),m=null,n=null}};a.fn.cascadeSelect=function(b){return this.each(function(){var c=a(this);c.data("inited.cascadeSelect")||c.data("inited.cascadeSelect",!0),e(this,b,b.upperTierGetter()),c.data("option.cascadeSelect",b),c.bind("change",function(){var c=a(this),d=c.val();e(this,b,b.upperTierGetter()),c.val(d)}),c.bind("update",function(){var b=a(this);b.trigger("change")})})}})(jQuery);