【发布时间】:2019-02-22 02:58:25
【问题描述】:
单击 1 个或多个复选框时,我使用此代码显示一些文本 (Checked)。
我使用on,因为复选框是动态创建的。
好像只有 IE Edge 处理不了。我必须在复选框上单击两次才能显示 Checked 文本。在所有其他浏览器中,它可以立即运行。
真的不知道代码有什么问题
<input type="checkbox" class="rafcheckbox" value="1" />
<input type="checkbox" class="rafcheckbox" value="2" />
<input type="checkbox" class="rafcheckbox" value="3" />
<div class="cb-buttons" style="display:none">Checked</div>
<script>
$(document).on('click','.rafcheckbox',function() {
var $checkboxes = $('.rafcheckbox').change(function() {
var anyChecked = $checkboxes.filter(':checked').length != 0;
$(".cb-buttons").toggle(anyChecked);
});
});
</script>
【问题讨论】:
-
您的问题很可能是因为您正在创建一个新的更改处理程序,每次单击复选框时。重复的事件处理程序将相互冲突。尤其是使用 fo 切换。
-
我该如何解决这个问题?我应该在代码中更改什么?
标签: javascript jquery checkbox onclick dynamically-generated