jquery动态添加下拉栏,怎么去避免重复添加

jquery动态添加下拉栏,怎么去避免重复添加,第1张

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>

因为你这一步:$obj=$('input:hidden')

选择器里面有个两个对象,所以length=2,for循环的时候alert执行了两次。

正解:

$('#test').click(

function(){

  $obj=$('input:hidden')

    $.each($obj,function(i,n){

    alert($(n).val())

})

})

js代码改成如下:

$("#listAdd").on("click",function(){

$("#list").append("<li>增加的</li>")

})

$("#list").on("click", "li", function(){

alert($(this).html())

})

使用jquery的on事件委托来处理动态添加元素动态添加事件。


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

原文地址: https://www.outofmemory.cn/bake/11882100.html

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

发表评论

登录后才能评论

评论列表(0条)

保存