javascript - 选中时在每个复选框中触发更改事件
问题描述
我有一个简单的测验,用户可以通过单击下一步来回答多个问题,现在我想在选中复选框时更改复选框背景
这是一个演示测验演示
这是我尝试过的
选中复选框时更改背景颜色的功能
$("input[type='checkbox']").on('change', function(){
console.log('clicked');
if($(this).is(":checked")){
console.log('Chodzi')
$(this).addClass("input-before");
}
else{
console.log('Nie chodzi');
$(this).removeClass("input-before");
} });
现在,当我运行我的应用程序并单击复选框时,复选框会更改背景,但是当我单击下一步然后单击复选框时,背景不会更改。
我需要更改什么才能使其正常工作?
解决方案
我相信解决方案很简单,将侦听器添加到一些动态添加的元素中,您只需像这样使用 JQuery:
$("section").on('change',"input[type='checkbox']", function(){
console.log('clicked');
if($(this).is(":checked")){
console.log('Chodzi')
$(this).addClass("input-before");
}
else {
console.log('Nie chodzi');
$(this).removeClass("input-before");
}
});
这是用我的编辑更新的小提琴
所以基本上你必须将监听器添加到容器中,它会将监听器“传播”到每个input[type='checkbox']
是(或将是)它的子级的监听器。
推荐阅读
- node.js - Firebase 函数:只会变得未定义
- node.js - 如何使用 Google Datastore 查询“对象数组”(多个过滤器)
- html - html a href 语法错误。意外的 '$row' (T_VARIABLE),需要 ',' 或 ';'
- razor - 在另一个程序集中更新视图时,页面未反映我的更改
- python - Raspberry Pi 启动后不启动 python 脚本等待输入
- python - 包括 base.html 中的登录表单
- angular - Angular httpClient order of server responses
- python - Django用交集计数注释查询集
- vue.js - VueJS 编译失败
- android - 需要字符串解码帮助