关于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.mzph.cn/news/62955.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java面试之用两个栈实现队列

文章目录 题目一、什么是队列和栈&#xff1f;1.1队列1.2栈 二、具体实现2.1 思路分析2.2代码实现 题目 用两个栈实现一个队列&#xff0c;实现在队列尾部插入节点和在队列头部删除节点的功能。 一、什么是队列和栈&#xff1f; 1.1队列 队列是一种特殊的线性表&#xff0c;…

js数组分组,javascript实现数组的按属性分组

在JavaScript中&#xff0c;有多种方法可以对数组按属性进行分组。以下是至少6种常见的方法&#xff1a; 6种方法的使用场景和优缺点的简要描述&#xff1a; 使用reduce()方法&#xff1a; 使用场景&#xff1a;适用于需要对数组进行聚合操作的情况&#xff0c;可以自定义聚合…

Linux 命令大全(下)

Linux 命令大全&#xff08;上&#xff09; 本文目录 6. 网络通讯 常用命令6.1 ssh 命令 – 安全的远程连接服务器6.1.1 含义6.1.2 语法格式6.1.3 常用参数6.1.4 参考示例 6.2 netstat 命令 – 显示网络状态6.2.1 含义6.2.2 语法格式6.2.3 常用参数6.2.4 参考示例 6.3 dhclient…

Postgresql的一个bug_涉及归档和pg_wal

故障描述&#xff1a; 服务器ocmpgdbprod1&#xff0c;是流复制主节点&#xff0c;它的从节点是ocmpgdbprod2&#xff0c;两个节点的Postgresql数据库版本都是PostgreSQL 11.6&#xff0c;主节点ocmpgdbprod1配置了pg_wal归档&#xff0c;从节点ocmpgdbprod2没有配置pg_wal归档…

DVWA XSS

反射型 low 查看源代码&#xff0c;没有任何过滤 构造 medium 这里是过滤了 high 这里把双写和大小写和JavaScript都过滤了,用事件来绕过<img src0 οnerrοralert(“xss”)> impossible 这里使用htmlspecialchars进行实体转换并且输出的结果还不能使用事件来…

IOS打包上架AppStore被驳回信息记录

1&#xff1a;错误码5.2.1错误信息如下 Your app includes content or features from 公司名, or is marketed to control external hardware from 公司名, without the necessary authorization. The inclusion of third-party content within your app, whether retrieved fr…

前端面试中Vue的有经典面试题一

1. 谈谈你对MVVM开发模式的理解 MVVM分为Model、View、ViewModel三者。 Model&#xff1a;代表数据模型&#xff0c;数据和业务逻辑都在Model层中定义&#xff1b; View&#xff1a;代表UI视图&#xff0c;负责数据的展示&#xff1b; ViewModel&#xff1a;负责监听Model中…

Android Event事件分发(新版本)

之前写过一个方案&#xff08;添加链接描述&#xff09;&#xff0c;突然觉得很麻烦&#xff0c;于是有了新的方案&#xff1a; 首先先说要解决的问题&#xff1a; 当父布局能滑动&#xff0c;子View也能滑动&#xff0c;就会出现滑动冲突 解决思路&#xff1a;我们按下子Vie…

视觉化洞察:为什么我们需要数据可视化?

为什么我们需要数据可视化&#xff1f;这个问题在信息时代变得愈发重要。数据&#xff0c;如今已成为生活的一部分&#xff0c;我们每天都在产生大量的数据&#xff0c;从社交媒体到购物记录&#xff0c;从健康数据到工作表现&#xff0c;数据无处不在。然而&#xff0c;数据本…

抖音短视频账号矩阵seo分发系统--开发源代

1.抖音矩阵号/抖音短视频SEO矩阵系统开发及开发者思路分享: 短视频获客系统开发原型支持短视频智能批量剪辑、短视频多账号管理定时发布&#xff0c;短视频排名查询及优化&#xff0c;智能客服私信回复等&#xff0c;那么短视频seo系统开发时需要开发哪些功能呢&#xff1f;今天…

SciencePlots 基本语法及特点

文章目录 简介安装 LaTeXSciencePlots 绘图示例 简介 用户有时需要根据期刊的配图绘制要求进行诸如字体、刻度轴、轴脊、图例等图层属性的定制化修改&#xff0c;耗时的同时也会容易导致用户忽略一些图层细节要求。 SciencePlots 作为一个专门用于科研论文绘图的第三方拓展工…

Revit SDK 介绍:DistanceToPanels 根据距离设置参数

前言 这个例子展示如何计算距离&#xff0c;并将距离的值设置为参数。 内容 选中球形&#xff0c;运行程序&#xff0c;会设置控制高度的参数&#xff0c;距离越远参数值越大。效果如下所示&#xff1a; 核心逻辑&#xff1a; 得到选中物体的位置遍历分割表面内部的 Panel…

Unity AssetBundle(1):Assets打包和依赖(Dependencies)

对Unity5.x后的AssetBundle依赖机制有了一点理解&#xff0c;创建了一个项目验证 github:GeWenL / AssetBundlePro AbScene.unity 资源有哪些&#xff1f; Some common types of Asset assetbundle打包命令是 BuildPipeline.BuildAssetBundles ,格式有&#xff1a; 引用&…

Java工具类记录

HTML转word 相关依赖 <dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>4.1.2</version></dependency>import org.apache.poi.poifs.filesystem.DirectoryEntry; import org.apache.poi…

python接口自动化(二)--什么是接口测试、为什么要做接口测试(详解)

简介 上一篇和大家一起科普扫盲接口后&#xff0c;知道什么是接口&#xff0c;接口类型等&#xff0c;对其有了大致了解之后&#xff0c;我们就回到主题-接口测试。 什么是接口测试 接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各…

“算力+运力”扇动双翼,制造算力时代的蝴蝶效应

8月18日-20日&#xff0c;第二届中国算力大会在宁夏银川成功举办。 今年以来&#xff0c;随着大模型、AIGC等新技术的火爆&#xff0c;站在舞台中央的算力承载了无尽的期待&#xff0c;发展数字经济需要以算力基础设施为前提&#xff0c;社会各界已经形成了共识。 与此同时&…

无涯教程-Android - DatePicker函数

Android Date Picker允许您在自定义用户界面中选择由日,月和年组成的日期。为此功能,android提供了DatePicker和DatePickerDialog组件。 在本教程中,我们将通过DatePickerDialog演示日期选择器的用法, DatePickerDialog是一个包含DatePicker的简单对话框。 为了显示DatePicker…

Leetcode110. 平衡二叉树

力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 给定一个二叉树&#xff0c;判断它是否是高度平衡的二叉树。 本题中&#xff0c;一棵高度平衡二叉树定义为&#xff1a; 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。 题解&#xff…

【Go 基础篇】探索Go语言中的Map:数据的魔法盒子

嗨&#xff0c;各位Go语言的探索者们&#xff01;在我们的编程世界中&#xff0c;总会有一些特殊的工具能够让我们的生活变得更加便捷。而在Go语言中&#xff0c;Map就是这样一种神奇的数据结构。它就像是一个魔法盒子&#xff0c;可以帮助我们高效地存储和操作键值对数据。本文…

vue3中axios的使用方法

在Vue 3中使用axios发送HTTP请求的方法与Vue 2中基本相同。首先&#xff0c;需要安装axios库&#xff1a; npm install axios然后&#xff0c;在Vue组件中引入axios&#xff1a; import axios from axios;接下来&#xff0c;可以在Vue组件的方法中使用axios发送HTTP请求。例如…