我想根据文章类别数组中是否存在类别 ID 来设置复选框的“checked”属性。
类别对象中的每个类别都有字段“_id”和“name”,例如:{ _id:12,名称:准备工作}
articles.categories 是一个 id 数组,例如:[1, 12, 22]
这就是我现在拥有的:
- categories.forEach(function(category) {
- var check = 'false'
- article.categories.forEach(function(id) {
- if(id === category._id) {
- check = 'true'
- }
- });
- if(check == 'true') {
li: label.checkbox
input(type="checkbox", name="categories", checked, value=category._id)
=category.name
- } else {
li: label.checkbox
input(type="checkbox", name="categories", value=category._id)
=category.name
- }
- });
传入的数据是正确的,并且正在迭代正确的值,我只需要能够根据匹配设置选中的属性。谢谢。
几天前我做了类似的事情。我所做的是将 bool 值分配给“checked”属性。请参阅下面的代码。请注意,我将您的检查变量从字符串更改为 bool 值。我还删除了 if-then-else 语句。
- categories.forEach(function(category) {
- var check = false
- article.categories.forEach(function(id) {
- if(id === category._id) {
- check = true
- }
- });
li: label.checkbox
input(type="checkbox", name="categories", checked=check, value=category._id)
=category.name
- });
我是一名优秀的程序员,十分优秀!