簡體   English   中英

如果沒有值,則設置select的默認值

[英]Set default value of select if no value

我有這個select

<select data-bind="options: $root.users(), optionsText: 'name', optionsValue: 'id', value: $root.selectedUser, optionsCaption: 'Select one'"></select>

如果$root.selectedUser = 0則僅需要選擇默認值(“選擇一個”),否則不需要默認值。

我嘗試過:

<select data-bind="options: $root.users(), optionsText: 'name', optionsValue: 'id', value: $root.selectedUser, optionsCaption: $root.selectedUser () === 0 ? 'Select one' : ''"></select>

但這不起作用。 (如果$root.selectedUser = 0它將顯示列表的第一個值,而不是默認值。)

關於如何實現這一點的任何想法?

如果此ModelView:

    var User = function(id, name) {
        this.name = name;
        this.id = id;
    };

    var viewModel = {
        users : ko.observableArray([
            new User(0,"User 1"),
            new User(2,"User 2"),
            new User(3,"User 3")
        ]),
        selectedUser : ko.observable(0)
    };


    ko.applyBindings(viewModel);

我有一個ID為0的用戶。

如果您在可觀察值中保存一個Id值,它將選擇此選項。 所有這些將選擇一個選項:

 selectedUser : ko.observable(0)
 selectedUser : ko.observable(2)
 selectedUser : ko.observable(3)

如果保存任何值或undefined ,則顯示默認選項。

這個小提琴顯示了這個例子。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM