淘汰赛选择了

时间:2017-01-04 14:42:09

标签: javascript knockout.js

我的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而不是选择日期

2 个答案:

答案 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);
            }
        }
    };

如果你告诉我数组中的对象是什么样的,我可以编辑答案以获得更好的效果。但这应该可以帮助你找到自己的方式