我有一个HTML模板,其中包含一个jQuery函数,它执行对我的Web服务器的Ajax请求 . 响应中的数据包含具有汽车品牌名称和数字的字符串,用于在每个特定汽车品牌的输入复选框中设置值 . 以下是模板中的示例:
<input type="checkbox" name="list" value="2">
<label for="brand">Mercedes</label>
我正在尝试使用以下jQuery代码来查看是否为每个汽车品牌选中了输入复选框 . index.name是一个字符串,包含汽车品牌(例如“Mercedes”),index.id包含值2,这是一个JavaScript编号类型(我在控制台中确认了这一点):
$.each(data, function(key, index) {
if ( $('input[type=checkbox][value=index.id]').prop('checked', true) ) {
console.log("Checkbox is checked");
}
});
当我运行jQuery代码时,我收到此错误:
Uncaught Error: Syntax error, unrecognized expression: input[type=checkbox][value=index.id]
谁能告诉我我做错了什么?我已经阅读了有关如何执行此操作的其他Stackoverflow问题以及我正在做的事情似乎是正确的 .
1 回答
如果参数包含任何特殊字符(在本例中为
.
字符),则需要将参数引用到属性选择器:但是,这将查找一个复选框,其值为文字字符串
index.id
. 如果您实际上尝试使用表达式index.id
的值,则不会这样做,因为变量不会在字符串内扩展 . 你需要连接:或使用ES6模板文字: