字符串插值不按预期方式工作,但字符串不止一个字
问题描述:
该代码从选择框中删除所有选项并更新它们。问题是每个选项的值没有正确更新。字符串插值不按预期方式工作,但字符串不止一个字
发生了什么是每个选项的值更新只是一个字符串,这是不正确的第一个字。我希望用整个字符串更新值。
代码:
service_selection.children().remove();
$.each(data, function(index,value){
service_selection.append("<option value=" + value.description + ">" + value.description + "</option>");
});
例子:比方说,value.description
=的 “Hello World富吧”。
html显示它只将选项的值“Hello”指定为选项的值,而不是“Hello World Foo Bar”。
更新后当前的HTML看起来像这样:
<option value="Hello" World Foo Bar>Hello World Foo Bar</option>
答
你忘了添加“为实际的HTML值(它被包围”),therfor将出现第一个空格后切。
正确的代码应该是这样的:
service_selection.children().remove();
$.each(data, function(index,value){
service_selection.append("<option value='" + value.description + "'>" + value.description + "</option>");
});
(注意单曲“I值后添加=和前>)
答
你必须在你的当前代码报价的问题。
我个人做这样的事情:
var opts = "";
$.each(data, function(index, value) {
opts += '<option value="' + value.description + '">' + value.description + '</option>';
});
service_selection.html(opts);
+0
很好的捕获。谢谢。我遇到了一个问题,其中一个描述有一个撇号。您对更改报价的评论修复了它。 – Neil
如果不加引号,属性值在第一空间突破。基本的HTML。 – epascarello