javascript - 从对象中获取值并设置复选框状态
问题描述
在下面的示例中,我需要第一个复选框,checked
第二个和第三个复选框unchecked
目前我得到了所有这些checked
let data = {"admin":"true","nts":"false","chat":"false"};
$('button').on('click', function(){
$('.bcheck').each(function(){
let x = $(this).attr('data-x');
$(this).attr('checked', data[x]);
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type='checkbox' class='bcheck' data-x='admin'>
<input type='checkbox' class='bcheck' data-x='nts'>
<input type='checkbox' class='bcheck' data-x='chat'>
<button>CLICK</button>
解决方案
您在data
对象中的值都是字符串。所以他们都会评估为true
。丢失字符串并使它们成为布尔值。
let data = {
"admin": true,
"nts": false,
"chat": false
};
$('button').on('click', function() {
$('.bcheck').each(function() {
let x = $(this).attr('data-x');
console.log(data[x]);
$(this).attr('checked', data[x]);
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type='checkbox' class='bcheck' data-x='admin'>
<input type='checkbox' class='bcheck' data-x='nts'>
<input type='checkbox' class='bcheck' data-x='chat'>
<button>CLICK</button>
推荐阅读
- c++ - 有没有办法确定为什么 clang-format 缩进?
- owncloud - Nextcloud - 从文件中大量删除协作标签
- python - 已建立的连接被主机中的软件中止 - Python 套接字
- discord.js - 循环client.guilds中的所有值,然后循环每个公会中的所有成员
- reactjs - 如何在@stomp/stomp-js 库的 onStompErrorCallback 中使用调度?
- infrastructure - 如何使用裸机基础架构为 Keepalived 获取虚拟 IP
- mysql - MySQL 错误代码:在 MySQL Workbench 中 CREATE TABLE 期间出现 1064
- amazon-web-services - Terraform 应用失败 - 创建指标警报失败。不支持期间 (10)
- angular - 如何在 Angular 10 单元测试中模拟子组件?
- cucumber - Cucumber - 同一场景的 UI 和 API 实现