看起来很简单,但我做不到。
我用来自 C# 的 Json 数据界定了一个下拉列表。
查看页面
<div class="col-md-6">
<select data-bind="options: VehicleTypes, optionsText: 'Name', optionsValue:'ID', optionsCaption: 'All', value: VehicleTypeId" class="form-control"></select>
</div>
Json 调用
knockout 模型
var baseModel = {
VehicleTypeId: null,
VehicleTypes: [],
}
var viewModel = ko.mapping.fromJS(baseModel);
$.get(urlPath + "/GetVehicleTypes", function (data) {
viewModel.VehicleTypes(data);
});
它确实填充了下拉列表,当我在下拉列表中选择一个值时,VehicleTypeId 的值会更新。
我的问题是我想为我的下拉列表设置一个默认值,我已经用谷歌搜索了它,但没有任何东西适合我
我以 Json 形式返回的数据如下。
[{
"ID": 32,
"Name": "Vehicle 1"
}, {
"ID": 30,
"Name": "Vehicle 2"
}, {
"ID": 31,
"Name": "Vehicle 3"
}]
最佳答案
您的 VehicleType 需要位于 observableArray 中,并确保应用您的绑定(bind):
var baseModel = {
// data
VehicleTypeId: ko.observable(null),
VehicleTypes: ko.observableArray([{
"ID": 32,
"Name": "Vehicle 1"
}, {
"ID": 30,
"Name": "Vehicle 2"
}, {
"ID": 31,
"Name": "Vehicle 3"
}]),
}
ko.applyBindings(baseModel);
关于c# - Knockout js , mvc 下拉默认值不选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24146318/