Javascript 分配数组项';基于复选框状态的值?
我希望这能奏效:Javascript 分配数组项';基于复选框状态的值?,javascript,arrays,mongodb,Javascript,Arrays,Mongodb,我希望这能奏效: var title = document.getElementById('cat_title'); var active = document.getElementById('cat_active'); var category = { title: title.value, active: $(active).prop("checked"); } 提交表单时,如果选中复选框,则会在活动字段中插入“true”。当它未被检查时,它不会发送任何内容,但我希望它实
var title = document.getElementById('cat_title');
var active = document.getElementById('cat_active');
var category = {
title: title.value,
active: $(active).prop("checked");
}
提交表单时,如果选中复选框,则会在活动字段中插入“true”。当它未被检查时,它不会发送任何内容,但我希望它实际发送“false”
如果提交表单时未选中复选框,则保存文档的示例:
{
_id: "lklajdlfjkasdf",
title: "Some Title"
}
{
_id: ";klajsdfadsf"
title: "Some Title",
active: true <-- saved as boolean, good.
}
选中复选框提交表单时保存的文档示例:
{
_id: "lklajdlfjkasdf",
title: "Some Title"
}
{
_id: ";klajsdfadsf"
title: "Some Title",
active: true <-- saved as boolean, good.
}
{
_id:“klajsdfadsf”
标题:“一些标题”,
active:true即使该代码在数据库插入之前携带了假值,在数据库中插入假值只会使其成为空字段,这相当于将其设置为零
因此,您有两个选择:
1) 从数据库检索行时检查空字段
或
2) 在数据库中使用字符串值“false”
,并检查是否存在该值您能解释得更清楚一点吗?不能重新还原,在这里工作很好:这是JavaScript中的一个对象文本,类似于一种关联数组。它是否包含在事件处理程序中?请提供更多代码。请提供更多信息。$(活动)。prop(“checked”)
将返回false
,因此问题可能与处理此信息的代码有关。您在哪里检查action
的值?这开始更有意义了。事实证明,当查看完整文档对象时,它确实会说“false”"作为布尔值,但在我的应用程序端,它将其解释为null,不显示任何内容,但将true解释为某物,并与我的模板助手一起显示单词true。因此,我通过客户端将其显示为完全空的mongo接口,但在mongo shell中,我可以看到它显示为false。感谢您为我指明了正确的方向。我的应用程序客户端的不清晰可能导致我的问题有点混乱。我感谢您的帮助。@user1447679 Anytime!“在数据库中插入假值只会使其成为空字段”我假设您在这里特别提到mongoDB?否则我会说这句话是冒昧的。它可能取决于数据库和列/字段的数据类型,以及值false
的实际存储方式。