我的html中有一个带有knockout js绑定的select标签。
<select class="form-control " data-bind="options: loanTimesBorrower,
optionsText: loanTimesBorrower(),
value: loanTimeBorrower,
selectedOptions: loanTimesBorrowerini,
optionsCaption: 'Choose dates'">
</select>
我没有选择日期,而是希望将默认值显示为180,因为我有一个数组可以存储180天,360天等等。
这是数组
self.loanTimesBorrower = ko.observableArray();
self.loanTimesBorrowerini = ko.observableArray(self.loanTimesBorrower()[0]);
我得到一个foreach循环填充的这个数组,这样就可以从db获取loantimes。
$.each(items.investTimes, function (index, item) {
self.loanTimesBorrower.push(item.Loantime);
});
所以我不确定如何将默认值设为180而不是选择日期
答案 0 :(得分:1)
删除
optionsCaption: 'Choose dates'
它将默认为您提供的选项。
答案 1 :(得分:0)
你可以像这样使用它:
<select id="selectDate" class="form-control " data-bind="options: loanTimesBorrower,
optionsText: loanTimesBorrower(),
value: loanTimeBorrower,
selectedOptions: loanTimeBorrower[0],
optionsAfterRender: $root.setDefaultDate">
</select>
在您的javascript中,您可以执行以下操作:
self.setDefaultDate= function (option, object) {
if (typeof object !== "undefined" && object !== null) {
if(object.value === 180) {
$("#selectDate").find(option).prop('selected', true);
}
}
};
如果你告诉我数组中的对象是什么样的,我可以编辑答案以获得更好的效果。但这应该可以帮助你找到自己的方式