我的json数据是
{"person":
[
{"Name":"Name1",
"City":"1",
"PostCode":1234
},
{"Name":"Name2",
"City":"2",
"PostCode":12
}]
}
我的用户界面是,
<tbody id="container" data-bind="foreach: person">
<tr>
<td>
<input id="Name" style="width: 100px" type="text" data-bind="value:Name" class="dynamic" />
</td>
<td>
<select id="City" style="width: 100px" data-bind="value: City" class="dynamic" >
<option value="0">NY</option>
<option value="1">NJ</option>
<option value="2">CA</option>
</select>
</td>
<td>
<input id="PostCode" disabled="disabled" style="width: 100px" type="text" data-bind="value: PostCode, enable: City() == '0' || City() == '1'"" class="dynamic"/>
</td>
<select id="City" style="width: 100px" data-bind="value: County" class="dynamic" >
<option value="0">Test0</option>
<option value="1">Test1</option>
<option value="2">Test2</option>
</select>
</td>
</tr>
</tbody>
我的viewModel是,
<script type="text/javascript">
var jsonData = {};
$.getJSON("test.json", function (data) {
jsonData = ko.mapping.fromJS(data);
ko.applyBindings(jsonData);
}
);
</script>
我需要做的是当我更改下拉文本时,我必须根据所选城市更改我的县下拉列表。 我的下拉文字不是来自我的json 。我尝试使用“订阅”选项。有人可以帮我吗?
答案 0 :(得分:3)
您可以在邮政编码文本框中使用启用绑定,例如:
<td>
<input id="PostCode" disabled="disabled" style="width: 100px" type="text"
data-bind="
value: PostCode,
enable: City() == '1' || City() == '2'"
class="dynamic"/>
</td>