Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 向下拉列表中添加选项时,字符串值包含空格,导致语法错误_Javascript_Jquery - Fatal编程技术网

Javascript 向下拉列表中添加选项时,字符串值包含空格,导致语法错误

Javascript 向下拉列表中添加选项时,字符串值包含空格,导致语法错误,javascript,jquery,Javascript,Jquery,我目前有一系列链接,可以打开包含下拉列表和输入文本框的菜单,向下拉列表添加新选项: 如果我保存一个不包含空格的值(“hello”),一切正常,但是如果一个值包含空格(“hello 2”),我会得到一个异常,它会显示“未捕获错误:语法错误,无法识别的表达式:[value=hello 2]” 以下是我迄今为止尝试过但未成功的两种方法: $('.addSetSelect').append('<option value="' + setName + '">' + setName + '&l

我目前有一系列链接,可以打开包含下拉列表和输入文本框的菜单,向下拉列表添加新选项:

如果我保存一个不包含空格的值(“hello”),一切正常,但是如果一个值包含空格(“hello 2”),我会得到一个异常,它会显示“未捕获错误:语法错误,无法识别的表达式:[value=hello 2]”

以下是我迄今为止尝试过但未成功的两种方法:

$('.addSetSelect').append('<option value="' + setName + '">' + setName + '</option>');

我想知道向可以包含空格值属性的selectbox添加选项元素的最佳方法是什么?

您可能只是遇到了字符串concat问题。这是更简单的:

$('.addSelect').append($('<option></option>').val(setName).text(setName));
$('.addSelect').append($('.val(setName).text(setName));

您可能只是遇到了字符串concat问题。这是更简单的:

$('.addSelect').append($('<option></option>').val(setName).text(setName));
$('.addSelect').append($('.val(setName).text(setName));

这两种方法都应该添加
元素<代码>[value=hello 2]可能引用代码中某个动态生成的jQuery选择器。只需添加引号,它就变成了
[value='hello 2']
。我能够复制我的应用程序中存在的问题。当有多个下拉框时(如在我的程序中),用空格输入值似乎会引起问题。这是jQuery错误吗?这两种方法都应该添加
元素<代码>[value=hello 2]可能引用代码中某个动态生成的jQuery选择器。只需添加引号,它就变成了
[value='hello 2']
。我能够复制我的应用程序中存在的问题。当有多个下拉框时(如在我的程序中),用空格输入值似乎会引起问题。这是jQuery错误吗<代码>$(“”).text(setName).appendTo(“.addSelect”)较短。这可能较短,但它没有设置值属性:)
可以,我使用
以提高可读性(我知道,我很奇怪)。如果它与
中的文本相同,则不需要值属性。)(不过,如果他不使用值选择器属性,它会引用我的一般评论)这是真的,很好的快捷方式。我想我通常使用id作为值。如果有人怀疑的话,我做了一把小提琴来向自己证明:我只是试了一下
$(“”).text(setName).appendTo(“.addSetSelect”)
$('.addSelect').append($('.text(setName))
没有
.val()
,并且似乎仍然会在包含空格的设置值上出现异常。我确实在JSFIDLE中尝试过,但是一切都很好,所以我将把它标记为合适的答案。关联的JSFIDLE派生自@Milimetric:
$(“”).text(setName).appendTo(“.addSelect”)较短。这可能较短,但它没有设置值属性:)
可以,我使用
以提高可读性(我知道,我很奇怪)。如果它与
中的文本相同,则不需要值属性。)(不过,如果他不使用值选择器属性,它会引用我的一般评论)这是真的,很好的快捷方式。我想我通常使用id作为值。如果有人怀疑的话,我做了一把小提琴来向自己证明:我只是试了一下
$(“”).text(setName).appendTo(“.addSetSelect”)
$('.addSelect').append($('.text(setName))
没有
.val()
,并且似乎仍然会在包含空格的设置值上出现异常。我确实在JSFIDLE中尝试过,但是一切都很好,所以我将把它标记为合适的答案。关联的JSFIDLE从@Milimetric分叉: