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

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

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

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

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

第一个下拉选项显示

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

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

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

1、添加下拉框选项并设置样式

function addOption(){

     $("#下拉框的id").append( "<option value=\"1\">选项一</option>" )

     $("#下拉框的id").append( "<option value=\"1\">选项二</option>" )

     //可以一个一个添加,也可以遍历要添加的数据循环添加

     

    //两种方式设置样式

    //1、直接设置下拉框的css

    $("#下拉框的id").css({"widht":"20px","height":"10px"})

    

    

    //2、或者写好css样式动态添加class

    //css文件或者标签里写好css样式如:.option{width:20pxheight:10px}

    $("#下拉框的id").addClass("option")

}

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>


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存