当前位置: 首页 > news >正文

关于layui+php,三级联动-编辑回显的问题。

忍不住吐槽一波。都什么年代了。现在都前后端分离,但是公司老项目非得用tp+layui。。

代码如下

layui.use(['form'], function () {var form = layui.form;//php代码渲染页面的时候,将一级分类id和二级分类id带过来,存到页面input框中,属性为hidden。方便获取这里js获取var first_category_id = $('#first_category_id').val()var second_category_id = $('#second_category_id').val()var third_category_id = $('#third_category_id').val()// 加载省份数据$.ajax({url: '',type: 'post',dataType: 'json',data: {parentId: 0},success: function (res) {//这里是select下拉框的idvar provinceSelect = $('#province');var citySelect = $('#city');var districtSelect = $('#district');$.each(res.data, function (index, item) {if (item.id == first_category_id) {provinceSelect.append('<option value="' + item.id + '" selected>' + item.name + '</option>');$.ajax({url: '',type: 'post',dataType: 'json',data: {parentId: item.id},success: function (res) {$.each(res.data, function (index, item) {if (item.id == second_category_id) {citySelect.append('<option value="' + item.id + '" selected>' + item.name + '</option>');$.ajax({url: '',type: 'post',dataType: 'json',data: {parentId: item.id},success: function (res) {$.each(res.data, function (index, item) {if (item.id == third_category_id) {districtSelect.append('<option value="' + item.id + '" selected>' + item.name + '</option>');} else {districtSelect.append('<option value="' + item.id + '">' + item.name + '</option>');}})}})form.render('select');} else {citySelect.append('<option value="' + item.id + '">' + item.name + '</option>');}})}})form.render('select');} else {provinceSelect.append('<option value="' + item.id + '">' + item.name + '</option>');}});form.render('select');}});// 监听下拉框变化事件--这里和回显没有关系了 点击事件触发form.on('select(province)', function (data) {var provinceId = data.value;if (provinceId !== '') {// 加载数据$.ajax({url: '',type: 'post',dataType: 'json',data: {parentId: provinceId},success: function (res) {var citySelect = $('#city');citySelect.empty().append('<option value="">请选择</option>');$.each(res.data, function (index, item) {citySelect.append('<option value="' + item.id + '">' + item.name + '</option>');});form.render('select');}});} else {// 清空下面两级的数据$('#city').empty().append('<option value="">请选择</option>');$('#district').empty().append('<option value="">请选择</option>');form.render('select');}});// 监听下拉框变化事件--这里和回显没有关系了 点击事件触发form.on('select(city)', function (data) {var cityId = data.value;if (cityId !== '') {// 加载区县数据$.ajax({url: '',type: 'post',dataType: 'json',data: {parentId: cityId},success: function (res) {var districtSelect = $('#district');districtSelect.empty().append('<option value="">请选择</option>');$.each(res.data, function (index, item) {districtSelect.append('<option value="' + item.id + '">' + item.name + '</option>');});form.render('select');}});} else {// 清空区县数据$('#district').empty().append('<option value="">请选择</option>');form.render('select');}});

html代码

<div class="layui-form-item"><label class="layui-form-label">商品分类:</label><div class="layui-input-inline"><select name="first" id="province" lay-filter="province"><option value="">请选择</option></select></div><div class="layui-input-inline"><select name="second" id="city" lay-filter="city"><option value="">请选择</option></select></div><div class="layui-input-inline"><select name="third" id="district" lay-filter="district"><option value="">请选择</option></select></div>
</div><input type="hidden" id="third_category_id" value="{$info.category_id}"><input type="hidden" id="second_category_id" value="{$info.second_category_id}"><input type="hidden" id="first_category_id" value="{$info.first_category_id}">
http://www.lryc.cn/news/144477.html

相关文章:

  • lua的函数
  • pytorch/tensorflow 直接给张量中的某个位置的值赋值,操作不可导。
  • 如何使用CSS实现一个平滑滚动到页面顶部的效果(回到顶部按钮)?
  • 【RuoYi移动端】uniApp导入和引用uView2.0插件
  • etcd 备份还原
  • LInux之chrony服务器
  • 《Flink学习笔记》——第七章 处理函数
  • Nacos基础(3)——nacos+nginx 集群的配置和启动 端口开放 nginx反向代理nacos集群
  • 传承精神 缅怀伟人——湖南多链优品科技有限公司赴韶山开展红色主题活动
  • 安全知识普及-如何创建一个安全的密码
  • Lua基础知识
  • Java Math方法记录
  • Java XPath 使用(2023/08/29)
  • el-table动态生成多级表头的表格(js + ts)
  • 四、Kafka Broker
  • ssm+vue医院医患管理系统源码和论文
  • 汽车电子笔记之:基于AUTOSAR的电机控制器架构设计
  • Docker 可以共享主机的参数
  • STL之list模拟实现(反向迭代器讲解以及迭代器失效)
  • Firewalld防火墙新增端口、开启、查看等
  • 【腾讯云 TDSQL-C Serverless 产品测评】- 云原生时代的TDSQL-C MySQL数据库技术实践
  • 计算机硬件基础
  • 云计算和Docker分别适用场景
  • oracle 基础运用2
  • ThinkPHP 资源路由的简单使用,restfull风格API
  • 利用前缀树获取最小目录
  • Java【手撕双指针】LeetCode 18. “四数之和“, 图文详解思路分析 + 代码
  • OpenCV处理图像和计算机视觉任务时常见的算法和功能
  • Flutter实现StackView
  • c++ future与promise