我还不需要访问JSON数据,所以我有点难过。我使用JSON格式化程序验证了数据,它是有效的,所以我知道这很好。
我尝试做的就是检索数据并填充一个选择框(特别是x-editable)。
在这个例子中,他们提供:
$('#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'}
]
但是我不知道该怎么办。数据Feed的格式{"data
让我失望。我过去习得的数据非常像X-Editable正在寻找的。 p>
答案 0 :(得分:1)
我在这里假设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
});