Implement select area linkage based on layui
To achieve the linkage effect, pay attention to two points:
First, you must be able to monitor the change event of the select;
Second, asynchronously loaded content, It needs to be re-rendered before it can be used normally.
Html structure:
<div class="x-body"> <form class="layui-form" action="" method="post"> <div class="layui-form-item"> <label class="layui-form-label">选择地区</label> <div class="layui-input-inline"> <select name="province" lay-filter="province" id="s_p"> <option value="1">请选择省</option> </select> </div> <div class="layui-input-inline"> <select name="city" lay-filter="city" id="s_c"> <option value="1">请选择市</option> </select> </div> <div class="layui-input-inline"> <select name="area" lay-filter="area" id="s_x"> <option value="1">请选择区/县</option> </select> </div> </div> <div> <label class="layui-form-label">选择地区</label> <div class="layui-input-inline"> <select name="towns" lay-filter="towns" id="s_t"> <option value="1">请选择乡镇/街道</option> </select> </div> <!--<div class="layui-input-inline">--> <!--<select name="burg" lay-filter="burg" id="s_b">--> <!--<option value="1">庄/村</option>--> <!--</select>--> <!--</div>--> </div> </form> </div>
js:
<script type="text/javascript"> layui.use(['form', 'layer', 'laytpl', 'jquery'], function () { var form = layui.form , $ = layui.jquery; var parentId = '0'; $(function () { $.post(serverPath + "sys/area/backProvince/" + parentId, function (result) { var p = result; for (v in p) { var pp = p[v].id; $("#s_p").append("<option value=" + pp + ">" + p[v].fullname + "</option>") } form.render(); }) form.on('select(province)', function (data) { var p = $("#s_p").val(); if (p != "1") { $.post(serverPath + "sys/area/backProvince/" + p, function (result) { var c = result; $("#s_c").html(""); $("#s_c").append("<option value='1'>请选择市</option>"); $("#s_x").html(""); $("#s_x").append("<option value='1'>请选择县/区</option>"); $("#s_t").html(""); $("#s_t").append("<option value='1'>请选择乡镇/街道</option>"); $("#s_b").html(""); $("#s_b").append("<option value='1'>请选择村/街道号</option>"); for (v in c) { var cc = c[v].id; $("#s_c").append("<option value=" + cc + ">" + c[v].fullname + "</option>") } form.render(); }) } }); form.on('select(city)', function (data) { var c = $("#s_c").val(); if (c != "1") { $.post(serverPath + "sys/area/backProvince/" + c, function (result) { var x = result; $("#s_x").html(""); $("#s_x").append("<option value='1'>请选择县/区</option>"); $("#s_t").html(""); $("#s_t").append("<option value='1'>请选择乡镇/街道</option>"); $("#s_b").html(""); $("#s_b").append("<option value='1'>请选择村/街道号</option>"); for (v in x) { var xx = x[v].id; $("#s_x").append("<option value=" + xx + ">" + x[v].fullname + "</option>") } form.render(); }); } }); form.on('select(area)', function (data) { var x = $("#s_x").val(); if (x != "1") { $.post(serverPath + 'sys/area/backProvince/'+ x, function (result) { var t = result; $("#s_t").html(""); $("#s_t").append("<option value='1'>请选择乡镇/街道</option>"); $("#s_b").html(""); $("#s_b").append("<option value='1'>请选择村/街道号</option>"); for (v in t) { var xx = t[v].id; $("#s_t").append("<option value=" + xx + ">" + t[v].fullname + "</option>") } form.render(); }); } }); }); }); </script>
Summary:
1. Use select’s chage listening event
form.on('select(myselect)', function(data){}) where myselect is the lay-filter attribute value of select
2. After the data is asynchronously loaded into the option of the select, clicking the select will It is found that the selection effect of layui does not work. You need to use form.render('select'); to re-render it and it can be used normally.
For more informationlayui, please pay attention to the layui tutorial column on the PHP Chinese website
The above is the detailed content of Implement select area linkage based on layui. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



Layui login page jump setting steps: Add jump code: Add judgment in the login form submit button click event, and jump to the specified page through window.location.href after successful login. Modify the form configuration: add a hidden input field to the form element of lay-filter="login", with the name "redirect" and the value being the target page address.

layui provides a variety of methods for obtaining form data, including directly obtaining all field data of the form, obtaining the value of a single form element, using the formAPI.getVal() method to obtain the specified field value, serializing the form data and using it as an AJAX request parameter, and listening Form submission event gets data.

Adaptive layout can be achieved by using the responsive layout function of the layui framework. The steps include: referencing the layui framework. Define an adaptive layout container and set the layui-container class. Use responsive breakpoints (xs/sm/md/lg) to hide elements under specific breakpoints. Specify element width using the grid system (layui-col-). Create spacing via offset (layui-offset-). Use responsive utilities (layui-invisible/show/block/inline) to control the visibility of elements and how they appear.

The method of using layui to transmit data is as follows: Use Ajax: Create the request object, set the request parameters (URL, method, data), and process the response. Use built-in methods: Simplify data transfer using built-in methods such as $.post, $.get, $.postJSON, or $.getJSON.

The difference between layui and Vue is mainly reflected in functions and concerns. Layui focuses on rapid development of UI elements and provides prefabricated components to simplify page construction; Vue is a full-stack framework that focuses on data binding, component development and state management, and is more suitable for building complex applications. Layui is easy to learn and suitable for quickly building pages; Vue has a steep learning curve but helps build scalable and easy-to-maintain applications. Depending on the project needs and developer skill level, the appropriate framework can be selected.

To run layui, perform the following steps: 1. Import layui script; 2. Initialize layui; 3. Use layui components; 4. Import layui styles (optional); 5. Ensure script compatibility and pay attention to other considerations. With these steps, you can build web applications using the power of layui.

layui is a front-end UI framework that provides a wealth of UI components, tools and functions to help developers quickly build modern, responsive and interactive web applications. Its features include: flexible and lightweight, modular design, rich components, Powerful tools and easy customization. It is widely used in the development of various web applications, including management systems, e-commerce platforms, content management systems, social networks and mobile applications.

layui and vue are front-end frameworks. layui is a lightweight library that provides UI components and tools; vue is a comprehensive framework that provides UI components, state management, data binding, routing and other functions. layui is based on a modular architecture, and vue is based on a componentized architecture. layui has a smaller ecosystem, vue has a large and active ecosystem. The learning curve of layui is low, and the learning curve of vue is steep. Layui is suitable for small projects and rapid development of UI components, while vue is suitable for large projects and scenarios that require rich functions.
