代码会从选择框中删除所有选项并更新它们。问题是每个选项的值未正确更新。
正在发生的事情是每个选项的值仅使用字符串的第一个单词更新,这是不正确的。我想用整个字符串更新值。
代码:
service_selection.children().remove();
$.each(data, function(index,value){
service_selection.append("<option value=" + value.description + ">" + value.description + "</option>");
});
示例:假设value.description
=“Hello World Foo Bar”。
html显示它只将“Hello”分配给选项的值,而不是“Hello World Foo Bar”分配给选项的值。
更新后的当前html如下所示:
<option value="Hello" World Foo Bar>Hello World Foo Bar</option>
答案 0 :(得分:4)
你忘了添加&#34;对于实际的html值(它必须被&#34;包围),因此它将在第一个空白区域后切割。
正确的代码如下所示:
service_selection.children().remove();
$.each(data, function(index,value){
service_selection.append("<option value='" + value.description + "'>" + value.description + "</option>");
});
(注意单个&#39;我在值之后添加=和之前的&gt;)
答案 1 :(得分:1)
您当前的代码中存在引号问题。
我个人会这样做:
var opts = "";
$.each(data, function(index, value) {
opts += '<option value="' + value.description + '">' + value.description + '</option>';
});
service_selection.html(opts);