4

我通过 JQuery 对 html 选择元素中的选择选项有疑问。下一个代码演示了我的问题:

$('select[name="location"] option[value=' + 'mercedes mercedes' + ']').attr('selected', true);

我有用于选择选项值的简单 html 代码 - “mercedes mercedes”。当我运行我的脚本时 - 我遇到了异常:

"错误:语法错误,无法识别的表达式:[value=mercedes mercedes] throw new Error("语法错误,无法识别的表达式:"+ msg);"

当我删除空格时 - 一切正常。也许有人知道 - 如何解决它?

4

3 回答 3

12

在您的选项周围加上引号:

$('select[name="location"] option[value="' + 'mercedes mercedes' + '"]')
于 2012-09-27T17:37:24.557 回答
2
$('select[name="location"] option[value=' + 'mercedes mercedes' + ']')

结果是

$('select[name="location"] option[value=mercedes mercedes]')

这不是一个有效的选择器。由于该值有一个空格,因此您必须将其括在引号中(如其他答案所示)。

文档

value: 一个属性值。可以是不带引号的单个单词或带引号的字符串。

如果这不是多选字段,只需调用.val

$('select[name="location"]').val('mercedes mercedes');
于 2012-09-27T17:39:08.193 回答
1

带步数的值应在选择器中引用:

$('select[name="location"] option[value="mercedes mercedes"]');

如果你从一个变量中得到它(很可能),你应该这样做:

$('select[name="location"] option[value="'+yourvariable+'"]');
于 2012-09-27T17:37:32.317 回答