我有这个JSON:
{
"message":"",
"entities":[
{
"city":"1",
"state":"VE.01",
"country":"VE",
"name":"Maroa"
},
{
"city":"2",
"state":"VE.01",
"country":"VE",
"name":"Puerto Ayacucho"
},
{
"city":"3",
"state":"VE.01",
"country":"VE",
"name":"San Fernando de Atabapo"
}
]
}
我需要根据city
和name
结果构建一个选择选项。我有空的HTML选择:
<select name="city" id="city">
<option value="-1">Select a city</option>
</select>
而且,也许我错了,但我可以从结果中移出(存储在data.entities
javascript var中),如下所示:
$each.(data.entities, function(){
// here I should build the options
})
但是我不知道从那里去哪里,可以给我一些推动或建议吗?
select#city
应该是这样的:
<select name="city" id="city">
<option value="-1">Select a city</option>
<option value="1">Maroa</option>
<option value="2">Puerto Ayacucho</option>
<option value="3">San Fernando de Atabajo</option>
</select>
在追加新值之前清洁SELECT
所有答案都可以按照我的意愿运行,但请看我的代码:
$(".state").change(function() {
state = $('.state option:selected').val();
$.get(Routing.generate('cities') + '/VE/' + state).success(function(data) {
if (data.message) {
message = data.message;
} else {
$.each(data.entities, function(i, d) {
$('#city').append('<option value="' + d.city + '">' + d.name + '</option>');
});
}
}).error(function(data, status, headers, config) {
if (status == '500') {
message = "No hay conexión con el servidor";
}
});
});
我需要清除SELECT但是在添加新值之前保留默认选项<option value="-1">Select one</option>
,我是怎么做的?
答案 0 :(得分:1)
尝试:
$('#city').empty().append('<option value="-1">Select a city</option>');
$.each(data.entities, function(i,d){
$('#city').append('<option value="'+d.city+'">'+d.name+'</option>');
});
答案 1 :(得分:1)
试试这个:http://jsfiddle.net/K6Lf4/
$.each(data.entities, function(index,option){
$("#city").append('<option value="'+option.city+'">'+option.name+'</option>');
});
答案 2 :(得分:1)
如果我理解你的问题,我认为这对你有用
options = ''
$.each(data.entities,function(index,value){
options += '<option value='+value.city+'>'+value.name+'</option>';
});
$('select').append(options)
答案 3 :(得分:1)
试试这个
$.each(data.entities, function (key, val) {
$("#city").append($("<option>", {value: val.city,text: val.name }));
});