javascript - 将复选框状态(选中/未选中状态)读取到 Meteor 中的变量的语法

标签 javascript meteor checkbox

我在 Meteor 应用程序中有一个表单,动态表的每一行都有一个复选框和几个文本字段。 OnClick,我试图手动从每个字段中获取数据并加载我传递到我的服务器以处理的数据对象。除了读取复选框的值外,一切正常。

我认为这是一个愚蠢的语法错误;我尝试了其他答案的语法,例如 meteor retrieve true/false value from checkbox switchChange但到目前为止还没有运气......

(对我来说)真正奇怪的是,当我的代码遇到我试图读取复选框状态的那一行时,它就停止了……没有错误消息,没有日志,没有任何可以帮助我调试的东西……它只是停止执行。

这是我的 HTML:

<input type="checkbox" id="{{sku}}-include" checked={{isChecked}}>

(isChecked 是一个助手;我已经验证它工作正常,id 属性中的 {{sku}} 位也是如此。)

这是我的 JS:

var dataObject = {};

var fieldName = '#' + thisProduct.sku + "-displayName";
dataObject.nickname = instance.$(fieldName).val();
console.log("found displayName value: " + dataObject.nickname + " when looking for " + fieldName);

fieldName = '#' + thisProduct.sku + "-include";
dataObject.includeInReports = instance.$(fieldName).is(":checked").val();
console.log("found Include setting: " + dataObject.includeInReports + " when looking for " + fieldName);

第一组 JS 行工作正常;该元素是一个文本字段。 第二组线在我尝试实际读取“已检查”值时就停止了。

(我试过使用和不使用 : in :checked;出于某种原因,我发现的每个示例都使用了冒号,但我不清楚原因。)

日志记录显示字段名称正在正确构建...当它到达 is("checked").val() 行时,执行就停止了。

非常感谢您提出任何建议!

最佳答案

根据@Shaded:

将 .is("checked").val() 更改为 .prop("checked") 效果很好。

重述;通过 ID 读取复选框的选中状态并存储在变量中的正确 Meteor 语法是:

myVar = instance.$(fieldName).prop("checked");

关于javascript - 将复选框状态(选中/未选中状态)读取到 Meteor 中的变量的语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34360698/

相关文章:

javascript - Angular 4 : How to get index of selected value in a datalist

javascript - 确定 Google Class Room 中的用户类型(教师或学生)

javascript - 上下文更改事件不起作用 Meteor

javascript - 向 DOM 添加元素时调用 Meteor 辅助函数

javascript - 提交的 Ajax 复选框防止点击发布/提交

javascript - 每个复选框出现两次

javascript - 如何使用GAS中的HTMLService向jQuery日期选择器添加默认日期?

javascript - 在 javascript 中创建一个提交按钮

Javascript:通过单击和拖动 map 标记获取坐标

checkbox - 请求对话框复选框选项 "don' 发送前询问...”