您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

基于layui实现动态添加下拉选择框的模块

2024/3/8 13:05:22发布24次查看
本篇文章给大家带来的内容是关于基于layui实现动态添加下拉选择框的模块,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
这星期刚接触layui,看到她的模块化,于是动手弄了个select选择拉练习不多说下面贴代码,不足地方请指出
/** * 基于layui扩展一个动态添加下拉选择框模块 */layui.define(['form', 'jquery'], function(exports) { //提示:模块也可以依赖其它模块,如:layui.define('layer', callback);var form = layui.form;var jquery = layui.jquery;function selectdropdown() {/** * 生成uuid * @param {len} 长度 * @param {radix} 进制 如 2,10,16 */this.uuid = function(len, radix) {var chars = '0123456789abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz'.split('');var uuid = [],i;radix = radix || chars.length;if(len) {// compact formfor(i = 0; i < len; i++) uuid[i] = chars[0 | math.random() * radix];} else {// rfc4122, version 4 formvar r;// rfc4122 requires these charactersuuid[8] = uuid[13] = uuid[18] = uuid[23] = '-';uuid[14] = '4';// fill in random data. at i==19 set the high bits of clock sequence as// per rfc4122, sec. 4.1.5for(i = 0; i < 36; i++) {if(!uuid[i]) {r = 0 | math.random() * 16;uuid[i] = chars[(i == 19) ? (r & 0x3) | 0x8 : r];}}}return uuid.join('');}this.init = function(opts) {opts = jquery.extend({target: '',options: [],onselect:function(){}}, opts || {});var uuid = this.uuid(8, 16);var target = jquery(opts.target);target.addclass('layui-form');target.attr('lay-filter', "select"+uuid);var original = target.attr('data-original');var currentvalue = target.attr('data-value');var domselect = jquery('<select/>');domselect.attr('lay-filter', "domselect"+uuid);for(var i = 0; i < opts.options.length; i++) {var o = opts.options[i];var domoption = jquery('<option/>');domoption.text(o.text);domoption.val(o.value);if(original === o.value.tostring()) {domoption.attr('selected', 'selected');}domselect.append(domoption);}target.append(domselect);form.on("select(domselect"+uuid+")", function(data) {target.attr('data-value',data.value);opts.onselect(data);//下拉选中后回调});form.render('select', "select"+uuid);//刷新渲染}}//输出select接口exports('select', selectdropdown);});
使用时
html 部分
<div style="width: 300px; margin-right: 20px;" id="sex" data-original="女" data-value="女"></div> data-original 初始值 data-value 下拉选中的值jslayui.use(['select'], function() { var select = layui.select; var sexoptions = [ {text:'男',value:"男"}, {text:'女',value:"女"}];var sexselect = new select();sexselect.init({target:'#sex',options:sexoptions});});
相关推荐:
jquery基于layui实现二级联动下拉选择
js下拉选择框与输入框联动实现添加选中值到输入框的方法_javascript技巧
以上就是基于layui实现动态添加下拉选择框的模块的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product