您好我正在使用jQuery Ajax将数据绑定到dropdown。我使用arcgis rest服务作为source.I能够获得响应但无法绑定到dropdown.Can任何人都可以帮助完成此操作。
$.ajax({
url: "url",
data: { f: "json", where: "1 = 1 ", returnGeometry: false },
dataType: "jsonp",
success: function(response) {
console.log( response );
var len = response.length;
$("#ddlDistrict > option").remove();
$('#ddlDistrict').append("<option value='-- Select --'>-- Select --</option>");
for (var i = 0; i < len; i++) {
$('#ddlDistrict').append('<option value="' + response[i].DistrictName + '">' + response[i].DistrictName + '</option>');
}
}
});
我的控制台输出是
答案 0 :(得分:1)
success: function(response) {
console.log( response, typeof response );
if(typeof response == 'string') {
response = JSON.parse(response);
}
var len = response.features.length;
$("#ddlDistrict > option").remove();
$('#ddlDistrict').append("<option value='-- Select --'>-- Select --</option>");
for (var i = 0; i < len; i++) {
console.log(response.features[i]);
$('#ddlDistrict').append('<option value="' + response.features[i].DistrictName + '">' + response.features[i].DistrictName + '</option>');
}
}
答案 1 :(得分:0)
从回复中看来,您希望显示displayFieldName
,其值为'DistrictName'
所以你必须传递密钥名称
for (var i = 0; i < len; i++) {
$('#ddlDistrict').append('<option value="' + response[i].displayFieldName+ '">' + response[i].displayFieldName+ '</option>');
}
现在从响应中我看到displayFieldName只是一个键。其中features
,fieldAliases
,fields
是数组,对象&amp;对象数组。
我不确定您是否要定位fields
作为关键字,name
作为关键字DistrictName
。如果是o那么循环条件需要改变
for (var i = 0; i < response.fields.length; i++) {
$('#ddlDistrict').append('<option value="' + response.fields[i].displayFieldName+ '">' + response.fields[i].name+ '</option>');
}