我是Javascript的新手。我需要拆分这种格式的字符串:
["Man1","SKC2","fsdfds3","ETA4","Star5","SCity 6","TESTGB11"]
并创建select标签的选项。我尝试了下面的代码
$.each(data, function (index, value) {
$('#bu_group').append($('<option/>', {
value: value,
text : value
}));
});
但我把字符串拆分为字母。 我该怎么做才能拆分字符串以获取选项
<option>Man1</option>
<option>SKC2</option>
注意:有时候这个字符串也可能包含空格。
答案 0 :(得分:5)
如果data
是你的字符串,那么将它从JSON解析为JavaScript字符串数组,然后迭代它:
var yourArray = JSON.parse(data);
$.each(yourArray, function(index, value) {
$('#bu_group').append($('<option/>', {
value: value,
text : value
}));
});
答案 1 :(得分:1)
尝试先传递数组,然后将翻译过的数组作为html字符串传递,
$('#bu_group').html($.map(JSON.parse(data),function(val,i){
return "<option value="+ val +">" + val + "</option>";
}));
答案 2 :(得分:1)
由于data
实际上来自您的服务器通过ajax,您只需指定正确的dataType。
无论
$.ajax({dataType: 'json', ...}).done(function(data){
//data will be parsed
});
或者
$.getJSON(url).done(function(data){
//data will be parsed
});
或者将服务器配置为返回正确的mime类型(application / json)
答案 3 :(得分:0)
如果您的数据是
["Man1","SKC2","fsdfds3","ETA4","Star5","SCity 6","TESTGB11"]
那么没有问题,所以我认为你的数据是:
'["Man1","SKC2","fsdfds3","ETA4","Star5","SCity 6","TESTGB11"]'
你必须解析&#39;它
当你使用jQuery时,一个选项就是这样parseJSON
:
var parsed_array = $.parseJSON('["Man1","SKC2","fsdfds3","ETA4","Star5","SCity 6","TESTGB11"]');
这样做之后,你可以成功地做到:
$.each(parsed_array, function (index, value) {
$('#bu_group').append($('<option/>', {
value: value,
text : value
}));
});
答案 4 :(得分:0)
如果您的数据为
var data=["Man1","SKC2","fsdfds3","ETA4","Star5","SCity 6","TESTGB11"]
然后你可以迭代这个var,不是吗?
var data=["Man1","SKC2","fsdfds3","ETA4","Star5","SCity 6","TESTGB11"];
for(i=0;i<data.length;i++) {
$('#bu_group').append($('<option/>', {
value: data[i],
text : data[i]
}));
};