jquery

时间:2017-11-30 05:02:32

标签: javascript jquery

我有一系列dyanmic复选框,它们在运行时创建,但是像这样的不同ID(模式相同)

ModellingTagID_1201 ModellingTagID_1202 ModellingTagID_1203 ModellingTagID_1204

我想知道上面的复选框是否有变化?如何使用动态选择器制作动态事件?这样我可以得到特定的复选框值已更改?这种事情可能吗?

 $jqLib("#ModellingTagID_*").change(function(){
        var lastState =$jqLib("#ModellingTagAlternativePlanning").prop("disabled");
        $jqLib("#ModellingTagAlternativePlanning").prop("disabled",!lastState);
    });

3 个答案:

答案 0 :(得分:1)

您可以将同一个类应用于所有这些复选框

<li><input type="checkbox" id="yourcbid1" name="x" value="1" class="yourcbclass" /> cb1</li>
  <li><input type="checkbox" id="yourcbid2" name="x" value="1" class="yourcbclass" /> cb2</li>

然后你就可以为它改变这样的事件。

$(function(){
$('.yourcbclass').on('change', function() { 
    if($(this).is(':checked')) 
    {
       //do your stuff here
    }
});
});

看看这是否有帮助..

答案 1 :(得分:0)

使用这种方式很简单: -

$("#envoyer").click(function(e) {
    var myArray = [];
    $(":checkbox:checked").each(function() {
        myArray.push(this.value);
    });
    
    if(myArray == ''){
    alert('Please check');
    }else{
    alert("Checked: " + myArray.join(","));
    }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<html>

    <body>
    one<input type="checkbox" name='checkbox0' value="one_name" checked>
   two<input type="checkbox" name='checkbox1' value="one_name1">
   three<input type="checkbox" name='checkbox2' value="one_name2">
        <input type="button" id="envoyer" value="Envoyer Reponse"  />

    </body>
</html>

答案 2 :(得分:0)

据我所知,您的问题是区分复选框的唯一ID,该复选框正在被更改。要实现这一点,您只需向所有元素添加一个公共类,以及唯一的随机ID。

   cb_1<input type="checkbox" class="someclass" id='ModellingTagID_1201' value="value_1" checked>
   cb_2<input type="checkbox" class="someclass" id='ModellingTagID_1202' value="value_2">
   cb_3<input type="checkbox" class="someclass" id='ModellingTagID_1203' value="value_3">

然后,您可以简单地将更改事件侦听器绑定到公共类,并从事件侦听器内部获取已更改的随机ID的值。

$(document).ready(function(){
    $('.someclass').on('change', function() { 
        alert($(this).attr("id"));
    });
});