我不需要访问JSON数据,所以我有点困难。我已经使用JSON格式验证了数据,它是有效的,所以我知道这很好。
我要做的就是检索数据并填充一个选择框(特别是x-edeed)。
在示例中,他们提供:
$('#id').editable({
source: [
{value: 1, text: 'Male'},
{value: 2, text: 'Female'}
]
});
是的,我可以将50个州扔到那里,但我想将这种方法用于我计划实施的其他选择框。
这是我目前从JSON调用中返回的数据馈送:
{
"data": [{
"stateID": 1,
"stateAbbr": "AL",
"state": "Alabama"
}, {
"stateID": 2,
"stateAbbr": "AK",
"state": "Alaska"
}, {
"stateID": 3,
"stateAbbr": "AZ",
"state": "Arizona"
}, {
"stateID": 51,
"stateAbbr": "WY",
"state": "Wyoming"
}]}
我正在使用的功能片段是:
$.getJSON("test.html?format=json",function(data){
statesArr = statesArr.concat(data);
});
理想情况下,我想让Statesarr看起来像这样:
source: [
{value: 1, text: 'Alabama'},
{value: 2, text: 'Alaska'},
...
{value:50, text: 'Wyoming'}
]
,但我对从这里做什么感到沮丧。数据提要的格式是{"data
使我失望。我习惯于获取X-Ededable正在寻找的数据。
我在这里假设resp
是响应。RESP具有data
属性。如果我误解了你,请告诉我。
var statesArr;
$.getJSON('test.html?format=json', function(resp){
statesArr = resp.data.map(function(state){
return {
value: state.stateID,
text: state.state
}
});
});
/* somewhere else later; make sure that statesArr is set */
$('#id').editable({
source: statesArr
});