Javascript jQuery不会在select标记内部追加选项标记
我的JS代码有以下内容Javascript jQuery不会在select标记内部追加选项标记,javascript,jquery,Javascript,Jquery,我的JS代码有以下内容 $(document).ready(function () { var newOptions = "{'East': 'first','West': 'second', 'North': 'third'}"; var option = $('#type_form'); option.empty(); $.each(newOptions, function(key, value) { option.append($('&
$(document).ready(function () {
var newOptions = "{'East': 'first','West': 'second', 'North': 'third'}";
var option = $('#type_form');
option.empty();
$.each(newOptions, function(key, value) {
option.append($('<option></option>').attr('value', value).text(key));
});
});
HTML格式如下:
<select id="type_form">
<option value="first">First</option>
<option value="second">Second</option>
</select>
chrome中的JS控制台不会给我带来任何错误。所有选项标记都已删除,但不会被任何内容替换
有什么想法吗?新选项应该是对象而不是字符串
如果您将其作为字符串,然后使用解析将其解析为对象-对于像IE8这样没有原生JSON支持的浏览器,您必须添加一个类似
您必须解析JSON字符串:
$.each(JSON.parse(newOptions), function(key, value) {
编辑:我的答案假设您的字符串来自其他地方。如果它真的是一个文本,那么最好直接将其作为一个文本对象来编写,如Arun所示 注意,您可以执行:$,{value:value,text:key};嘿,你们给的新选项是字符串,它应该是对象,所以删除引号;
$.each(JSON.parse(newOptions), function(key, value) {