Maison > Article > développement back-end > Un module pour ajouter dynamiquement des boîtes de sélection déroulantes basées sur layui
Le contenu de cet article concerne le module d'ajout dynamique de boîtes de sélection déroulantes basées sur layui. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.
Je viens d'entrer en contact avec layui cette semaine et j'ai vu sa modularité, j'ai donc commencé à faire une sélection. Je ne dirai pas grand-chose sur la pratique de sélection et d'extraction, je publierai le code. ci-dessous. Veuillez signaler toute lacune
/** * 基于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 form for(i = 0; i < len; i++) uuid[i] = chars[0 | Math.random() * radix]; } else { // rfc4122, version 4 form var r; // rfc4122 requires these characters uuid[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.5 for(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); });
Lors de l'utilisation de la
partie HTML
<div style="width: 300px; margin-right: 20px;" id="sex" data-original="女" data-value="女"></div> data-original 初始值 data-value 下拉选中的值 js layui.use(['select'], function() { var select = layui.select; var sexOptions = [ {text:'男',value:"男"}, {text:'女',value:"女"} ]; var sexSelect = new select(); sexSelect.init({target:'#sex',options:sexOptions}); });
Recommandations associées :
implémentations jquery. sélection déroulante de liaison secondaire basée sur layui
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!