0
我使用JSON我通过WepAPI获得地址的列表,说:选择无法选择初始值
data1 =
[
{ address1 :"# 16 6 forks", state: 'NC' },
{ address1 :' 17 6 forks" , state: 'NY'},
{ address1 :'18 forks", state: 'AL'}
]
而且也是国家的名单如下:
data2 = [
{id:1,shortname:'NY',fullname:'New York'},
{id:2 ,shortname:'NC',fullname:'North Carolina'}
{id:3 ,shortname:'AL',fullname:'ALabama'}
]
我得到这个数据转换成地址和状态变量分别是这样的:
if (data !== null) {
for (var i = 0; i < 1; i++) {
self.addresses.push(ko.mapping.fromJS(data[i]));
}
}
和状态
ko.utils.arrayPushAll(self.states, data);
我的期望是,当html在地址中呈现适当的状态项目时,应该选择作为例如初始地址的“NC”的初始值,而是显示作为第一个元素的“NY”在状态对象中。
在调试过程中,我发现当地址变量通过ko.mappingfromJS被赋值时,它被赋值为'undefined',然后在这个代码之后,当states变量被赋予状态时,顶部地址的状态被赋值为>来自状态对象的第一个元素。这是我通过在地址和状态对象从JSON填充之前和之后放置一些控制台日志所观察到的。
我被困在这里。任何帮助,将不胜感激。
<tbody>
<td data-corners="true" data-shadow="true" data-iconshadow="true" data-wrapperels="span" data-icon="arrow-down" data-iconpos="right" data-theme="c">
<td>
<select data-icon="arrow-down"
data-bind="options: $root.states,
value: state,
optionsValue: 'shortstatename',
optionsText: 'statename',
optionsCaption :' '">
</select>
</td>
</td>
</tbody>
'data'来自哪里,我看到'data1'&'data2'? – christiandev
我通过ajax调用API并将它映射到数组格式 –
可以显示所有代码吗? – christiandev