jquery - 如何在动态创建的 iCheck 样式复选框上设置选中值
问题描述
我在 ajax 成功函数中动态填充复选框,如下所示:
//get the json response arrays
var coworker_result = response[0];
var shared_result = JSON.stringify(response[1]);
for (var i in coworker_result)
{
var row = coworker_result[i];
var coworkerID = row[0];
var name = row[1];
//check if the checkbox should be checked or unchecked
if (shared_result.indexOf(coworkerID) >= 0){
console.log('found coworker '+coworkerID);
//creating the checkboxes
$('#icheck-container').append(
'<p class="description text-white dd-report-text" ><span style="vertical-align:middle;">
<input type ="checkbox" class="coworker-checkbox" id="'+coworkerID+'">
</span>'+name+'</p>'
)
//this is where I attempt to set the checked value, but no love
$("input#"+coworkerID).iCheck('check');
}
else{
//do something else
$('input#'+coworkerID+'').iCheck('uncheck');
)
}
}
//add iCheck class to the checkboxes
$('#icheck-container').iCheck({checkboxClass: 'icheckbox_square-grey',radioClass: 'iradio_square-
grey'});
附加复选框可以正常工作,但是像这样附加选中的值 $("#"+coworkerID).iCheck('check');
是问题所在。我浏览了很多论坛和文档以找到解决方案,但没有任何结果。如果我给复选框一个静态 ID,它可以正常工作,所以我猜挑战与复选框的动态 ID 有关。
解决方案
我这样做很复杂。最终的解决方案是在 for 循环中向输入元素添加“检查”值,如下所示:
$('#icheck-container').append(
'<p class="description text-white dd-report-text" ><span style="vertical-
align:middle;"><input type ="checkbox" class="coworker-checkbox" id="'+coworkerID+' "
checked></span>'+name+'</p>'
)
推荐阅读
- nginx - 使用 Vue Router 和 Nginx 刷新时出现 404
- c# - 很棒的示例 Bot Timeout,但是放在哪里呢?
- woocommerce - 改变 WooCommerce 中的产品风格
- python - AttributeError:“分数”对象没有属性“denom”
- python - 将查找字符串所有排列的函数转换为生成器
- javascript - 将 sanity.io 的块输入添加到 next.js 博客文章
- spring - Spring Boot RestTemplate 连接超时
- r - 从 landsat 5 读取空间数据
- java - 我的数组索引超出范围,但为什么呢?
- python - python 新手,从事一个项目以确定输入是否是闰年以及什么类型。这是一种低效的编码方式吗?