我有一个下拉列表,数据绑定到它,如下所示
HTML:
<div>
<label>Notice Type</label>
<select id="ntctype" data-bind="options: NoticeType, value: selectedNoticeType, optionsCaption:'Choose...', optionsValue:'NoticeTypeID', optionsText:'NoticeTypeDescription'"></select>
</div>
KO JS:
self.NoticeType = ko.observableArray([]);
self.selectedNoticeType = ko.observable();
$.getJSON("GetNoticeType", null, function (data) {
self.NoticeType(data);
}
);
NoticeType数组如下所示 [{ “NoticeTypeID”:1, “NoticeTypeDescription”: “关闭”},{ “NoticeTypeID”:2 “NoticeTypeDescription”: “打开”}]
我想在绑定后将deafult值设置为关闭。我尝试使用optionsAfterRender&amp; ko.applybindingstoNode他们都没有工作。
这样做干净利落的方法是什么?
答案 0 :(得分:0)
正如评论中所提到的,你只需要在viewModel中将默认值设置为value
binded observable
查看型号:
function accountViewModel() {
var self = this;
self.NoticeType = ko.observableArray();
self.selectedNoticeType = ko.observable();
self.ajaxcall = function () {
self.NoticeType([{
"NoticeTypeID": 1,
"NoticeTypeDescription": "Close"
}, {
"NoticeTypeID": 2,
"NoticeTypeDescription": "Open"
}]);
self.selectedNoticeType = ko.observable(1);
}
self.ajaxcall();
}
工作小提琴 here