文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

JavaScript动态操作select下拉框的方法

2023-06-29 23:39

关注

本篇内容介绍了“JavaScript动态操作select下拉框的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

首先就是咱们的老朋友"select"标签,因为需要js、jq两种操作,所以就定义两个select标签。

HTML代码:

<div ><select id="mySelect1" ></select><select id="mySelect2" ></select><button id="addSelect2">添加</button> <!-- 此处用于点击动态添加到mySelect2 --></div>

之后就是引用jq,定义js、jq操作,代码我都贴下面了。

JS代码:

<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script><script type="text/javascript">        //1.动态操作 - JS方式        //这里先定义一个json对象,用于获取并新增到select标签        let language={        "languageList":[        {    "groupName":"前端",    "optionName":[    {"languageName":"html"},    {"languageName":"CSS"},    {"languageName":"javascript"}],        },        {    "groupName":"后端",    "optionName":[    {"languageName":"java"},    {"languageName":"JSP"}]        }      ]    };        //language.languageList - 数据位置        let index=0;        for (obj of language.languageList) {        //js创建optgroup标签        let optgroup=document.createElement("optgroup");        //设置optgroup标签的label和id值        optgroup.label=obj.groupName;        optgroup.id="optgroupId"+index;                //把创建optgroup新增到select下        document.getElementById("mySelect1").add(optgroup);        //针对optgroup标签,添加它的option标签        for (var i = 0; i < obj.optionName.length; i++) {        //js创建option标签        let option=document.createElement("option");        option.value=obj.optionName[i].languageName;        option.innerHTML=obj.optionName[i].languageName;        document.getElementById("optgroupId"+index).appendChild(option);        }        index+=1; //自定义下标放在最后新增,防止添加option时id增加        }        //2.动态新增 - JQ方式        let item=0;        $("#addSelect2").click(function(){        item=item+1;        //jq点击按钮后向下拉框新增optgroup标签        $("#mySelect2").append("<optgroup id='optgroup"+item+"' label='生成的optgroup标签"+item+"'></optgroup>");        let r=Math.floor((Math.random()*5)+1); //生成随机数1-5                //把随机数个数个的option添加到当前新增的optgroup下        for (var i = 1; i <= r; i++) {        $("#optgroup"+item).append(`<option value="`+i+`">随机生成的option`+i+`</option>`);        }        });</script>

需要注意的是:尽管用的id是递增产生的,但前面的名字也不要一样,我在测试按钮功能的时候,没注意就把两种optgroup的id定义成一样的,结果按钮随机生成的option都加到了相应id的mySelect1的optgroup里面了。

最后再贴一下运行效果

JavaScript动态操作select下拉框的方法

首先就是mySelect1回显json中的数据

JavaScript动态操作select下拉框的方法

点击添加按钮,新增到mySelect2

JavaScript动态操作select下拉框的方法

JavaScript动态操作select下拉框的方法

“JavaScript动态操作select下拉框的方法”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯