使用ajax从数据库动态加载下拉框(select)数据,可编辑下拉框。

2023-11-17

<div style="position:relative;">
    <span style="margin-left:100px;width:18px;overflow:hidden;">
    <select id="change" name="property" style="width:118px;margin-left:-100px" onchange="this.parentNode.nextSibling.value=this.value">
    </select></span><input name="box" style="width:100px;position:absolute;left:0px;">
</div>

在加载select前的方法中从后台读取数据,并给select 赋予option值。

//这个方法需要在显示select之前调用。
function getModelList3(){  ----一个的select框(第一级的框)
        var pid = $("#categoryId").val();
        console.log(pid);
        $("select[name=property]").empty();     //清空seletct的数据  
        $.ajax({
            type:"POST",                        //post请求
            url:"url",                          //请求后台action 根据需求请求自己的后台数据
            data:{"pid":pid},                   //传到后台的参数,后台需要编写get和set方法且和返回数据名相同。
            dataType:"json",                    //预期服务器返回的数据类型
            error:function(){                   //ajax错误的方法
            },   
            success:function(data){             //ajax成功的方法 在里卖弄给select的<option>标签赋值
                //向select中append、option标签
                var optionString = "<option grade=\'请选择一级属性\' selected = \'selected\'>--请选择一级属性--</option>";
                var beanList = data;            //返回的json数据
                if(beanList){                   //判断
                    for(var i=0; i<beanList.length; i++){ //遍历,动态赋值
                        optionString +="<option grade=\""+beanList[i].id+"\" value=\""+beanList[i].id+"\"";  
                        optionString += ">"+beanList[i].name+"</option>";  //动态添加数据  
                    }  $("select[name=property]").append(optionString);  // 为当前name为asd的select添加数据。
                }  
            }  
        });  
    } 

在前面select的onchange属性,表示在切换下拉框值得时候调用的方法,上面表示的是,给select上面的input赋值(为了实现可编辑的下拉框)。

可修改成:

onchange="this.parentNode.nextSibling.value=this.value;gradeChange()"

这里的gradeChange()方法写在js里面,实现在点击完成后可以得到当前选中的值:

$("#change").find("option:selected").text();//得到当前选中的值

我在option标签中添加了grade属性,用来体现name所对应的id值,其实可以直接用value查看id值

function gradeChange(){
        var objS = document.getElementById("change");
        var grade = objS.options[objS.selectedIndex].getAttribute('grade');//这里要是把grade换成value也是一样的。
        $("#shuxingadd4").css("display","none");
        //取到select的值
        $("#change").find("option:selected").text();//取select的值
        $("#box").val();//取input输入框的值
    }

本人进行的是单表多层添加操作,使用了四个层级的下拉框,在次添加需要清空之前的select数据
添加完成后可以在后面把select的数据清空
$(“#change”).empty(); //清空select的值

Tip:本文为个人在需求层面设计。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用ajax从数据库动态加载下拉框(select)数据,可编辑下拉框。 的相关文章

随机推荐

  • MySQL查询原理简述

    一 MySQL查询 1 单表查询 根据where条件过滤表中的记录 每过滤一次形成一张中间表 中间表对用户是不可见的 然后根据select的选择列返回最终的结果 2 两张表连接查询 对两表求积 笛卡尔积 行相乘 列相加 并用on条件和连接类
  • Java进阶01:Hibernate教程

    一 Hibernate概述 1 什么是Hibernate Hibernate是一个开放源码的ORM Object Relational Mapping 对象关系映射 框架 它对JDBC进行了轻量级的封装 使得Java开发人员可以使用面向对象
  • 在抖音中使用语聚AI,实现自动回复用户视频评论、私信问答

    您可以通过集简云数据流程 将语聚AI助手集成到抖音视频评论 抖音私信 实现自动回复用户视频评论 私信问答 大大提升账号互动与运营效率 效果如下 自动化流程 抖音普通号评论对接语聚AI 点击可一键使用 抖音企业号私信对接语聚AI 点击可一键使
  • MES生产制造执行系统与APS计划排产系统相关名词解释

    1 MES生产制造执行系统 MES不只是工厂的单一信息系统 而是横向之间 纵向之间 系统之间集成的系统 即所谓经营系统 对于SCP ERP CRM 数据仓库等近年被关注的各种企业信息系统来说 只要包含工厂这个对象 就离不了MES 2 主生产
  • gateway+nacos秒级上下线

    gateway nacos秒级上下线 spring cloud gateway和nacos是我们常用的组件 如果不做处理 服务启动或停止后在gateway上并不会立即上线或者下线 带来的问题就是 部署服务的时候 要把新的服务启动 等待gat
  • 新版3.6.1 Android Studio 解决AndroidStudio编译出现available for offline mode的问题

    问题 异常全文 Error A problem occurred configuring project app Could not resolve all dependencies for configuration app debugA
  • 骨牌与斐波那契数列

    文章目录 一 斐波那契数列的算法 1 递归法 2 一般算法 二 骨牌铺方格算法 1 递归法 2 一般算法 Description 在2 n的一个长方形方格中 用一个1 2的骨牌铺满方格 输入n 输出铺放方案的总数 例如n 3时 为2 3方格
  • 3年外包出来,字节,阿里,华为全是一面挂,感觉废了....

    测试员可以先在外包积累经验 以后去大厂就很容易 基本不会被卡 事实果真如此吗 但是在我身上却是给了我很大一巴掌 所谓今年今天履历只是不卡简历而已 如果面试答得稀烂 人家根本不会要你 况且要不是大厂出来的 可能上面这些面试资格都拿不到 这么多
  • 从头学编程:零基础入门指南

    文章目录 前言 一 编程的基础概念 二 选择一门编程语言 三 学习编程基础 四 掌握编程工具 五 参与开源社区 七 不断练习和实践 八 总结 关于Python技术储备 一 Python学习路线 二 Python基础学习 1 开发工具 2 学
  • 基于LeNet-5的手写数字识别实战

    图像识别是计算机视觉最常用的任务之一 几乎所有的有关图像识别的教程都会将MNIST数据集作为入门数据集 因为MNIST数据集是图像识别问题中难度最小 特征差异较为明显的数据集 非常适合作为图像识别入门者的学习案例 本案例使用MNIST数据集
  • 下载神器IDM安装与使用(保姆级教程)

    下载神器IDM安装与使用 保姆级教程 文章目录 下载神器IDM安装与使用 保姆级教程 前言 一 下载地址 二 IDM是什么 三 作用与特点 四 安装步骤 总结 前言 众所周知 下载工具是大家电脑里必装的软件之一 但大多数都存在 下载慢 收费
  • 服务器之间拷贝文件

    源机器 python m SimpleHTTPServer 10089 目标机器 wget 127 0 0 1 10089 xxx tar
  • 反序列化漏洞原理详解

    Apache shiro简介 Apache Shiro是一个强大且易用的Java安全框架 执行身份验证 授权 密码和会话管理 使用Shiro的易于理解的API 您可以快速 轻松地获得任何应用程序 从最小的移动应用程序到最大的网络和企业应用程
  • dlcache文件夹可以删除吗_C盘空间严重不足,原来这些文件夹是可以删除的,不要弄错了...

    今天早上刚起床打开电脑 就发现电脑开机很慢 等电脑成功打开后 才发现系统C盘爆红了 昨晚就玩了一会儿游戏 肯定是有东西混进系统C盘里面了 接下来我们就来看看C盘里面有哪些英文文件夹可以删除 一 可删除文件夹 1 Help Help的意思大家
  • C++修饰构造函数的explicit关键字

    C explicit关键字的作用主要是用来修饰类的构造函数 表明该构造函数是显式的 禁止单参数构造函数的隐式转换 如果C 类的构造函数有一个参数 那么在编译的时候就会有一个缺省的转换操作 将该构造函数对应数据类型的数据转换为该类对象 如下面
  • vue项目区分环境打包

    场景 在本地测试的时候 需要使用本地的接口地址 build打包后需要使用线上接口地址 每次都需要手动更改 非常麻烦 有时候还可能忘记更改 将本地的接口地址打包上线 非开发人员哈 开发才不会犯这样的错误 操作 1 在项目根目录创建两个文件 文
  • Windows 10环境下安装MySQL

    MySQL 是最流行的关系型数据库管理系统 在 WEB 应用方面 MySQL 是最好的 RDBMS应用软件之一 今天以MySQL5 5版本为例讲解安装步骤 1 找到本地安装包 并运行文件 2 点击Next安装 3 同意协议 直接选择下一步
  • 内网情况下 MAVEN不加载本地库的问题

    第一种解决方式 settings gt maven的配置里勾选 work offline即可解决问题 在这里插入图片描述 在这里插入图片描述 https img blog csdnimg cn cebc5829e3014aa3a3dc4f9
  • 面经分享-阿里、网易实习生面试题(附答案)

    4 23更新 已收到网易短信offer 阿里面试 先说下阿里吧 前段时间找师兄内推了阿里巴巴实习生 特此记录一下面试的感受 阿里确实是技术的圣地 目前为止我遇到的面试官都很nice 无论是语气还是技术都让人佩服 我就根据印象回忆一下面试的情
  • 使用ajax从数据库动态加载下拉框(select)数据,可编辑下拉框。

    div span style margin left 100px width 18px span div