JS与Jquery之动态添加下拉框select并级联改变事件

JS与Jquery之动态添加下拉框select并级联改变事件,第1张

1.可以动态添加多个下拉框,可减少下拉框

2.选中第一个下拉框的任意一个值,同时第三个下拉框的值跟着改变,显示对应的数据。

ps:what?光动态添加就足以。。。。赋值还不能直接赋,而是添加下拉时就赋值。。。。。经过脊蚂百般折磨,头发掉了n根,最终通过巧妙的思路解决了,在此记录下。若对你有所帮助,点赞加关注吧!后续及时更新。

第一个下拉选项显示

选择下拉项,同时加载数据到第三个下拉框

注:在这里直接去掉了第二行的标签

为了获取改变数据的行,试了很久,动态生成的下拉框无法获取到索引,所以中灶才想到了使用id,并卖野扮且给id后加一个数字

1、确定当前需要添加元素的text以及对应的value

2、获取当前下拉框中所有的option元素数组optionArr,可以通过$('#citySelect option')获取元素集合。

3、遍历optionArr,判断需要添加的text或者value是否和optionArr相同,相同则不添加,没有重复则添加。

示例:

<select id='citySelect'>

  世告  <option value='beijing'>北京</option>

    <option value='shanghai'>上海</option>

</select>

方法:

<script>

   function addCity(value, text){

       var optionArr = $('#citySelect option')

       for(var i=0i<optionArr.lengthi++){

           历败if(optionArr[i].text == text || optionArr[i].value == value){

               return false

           }

       }

       var addOption = "<option value='" + value + "搜烂明'>" + text + "</option>"

       $('#citySelect').append(addOption)

   }

</script>

textarea和select的银祥信jquery的clone方法有问题,textarea和select的值clone的时候会丢掉,这个是jquery的一个bug,网上有一个插件,下载地址如下:https://github.com/spencertipping/jquery.fix.clone/blob/master/jquery.fix.clone.js。就是在clone的时候宴芦将val再锋轮重新赋值一下,也可以不用这个插件,自己写。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11977860.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存