我在Coldfusion工作,但在这种情况下,它应该没关系。
我正在检索一些json格式的数据(见下文),我只需要名称(它是自动填充表单字段)。我需要其他数据,这就是为什么它被包含在这里,但如果我能得到帮助提取名称,我想我可以在表格中管理其他信息。
我遇到的问题是我的自动完成没有填充从json数据返回的名称值。我知道它与我引用值的方式有关,但我不知道故障的位置。
这就是我在成功函数中所拥有的:
var options = '';
for (var i = 0; i < j.features.length; i++){
options += '<option value="' + j.features[i].attributes.name + '">' + j.features[i].attributes.name+ '</option>';
}
这就是我在控制台日志窗口中看到的 - json格式化数据 -
{
"displayFieldName": "name",
"fieldAliases": {
"name": "name"
},
"geometryType": "esriGeometryPoint",
"spatialReference": {
"wkid": 102100
},
"fields": [
{
"name": "name",
"type": "esriFieldTypeString",
"alias": "name",
"length": 150
}
],
"features": [
{
"attributes": {
"name": "Sheltering A"
},
"geometry": {
"x": -8614890.23598794,
"y": 4526897.651595688
}
},
{
"attributes": {
"name": "Sheltering L"
},
"geometry": {
"x": -8644978.888800403,
"y": 4504316.305944032
}
}
]
}
答案 0 :(得分:0)
试试这个,
在此数据中包含字典数组,在这种情况下,我使用data[0]
您可以使用data.length查找长度,然后获取data[i]
。
data = [{
"displayFieldName": "name",
"fieldAliases": {
"name": "name"
},
"geometryType": "esriGeometryPoint",
"spatialReference": {
"wkid": 102100
},
"fields": [
{
"name": "name",
"type": "esriFieldTypeString",
"alias": "name",
"length": 150
}
],
"features": [
{
"attributes": {
"name": "Sheltering A"
},
"geometry": {
"x": -8614890.23598794,
"y": 4526897.651595688
}
},
{
"attributes": {
"name": "Sheltering L"
},
"geometry": {
"x": -8644978.888800403,
"y": 4504316.305944032
}
}
]
}]
var options = '';
for (var i = 0; i < data[0]['features'].length; i++){
options += '<option value="' +data[0]['features'][i].attributes.name + '">' +data[0]['features'][i].attributes.name+ '</option>';
}
alert(options)