我有一系列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);
});
答案 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"));
});
});