0

我有一个看起来像这样的视图模型:

var teamViewModel = {
        teams: ko.observableArray([]),
        clearTeams: function(){
            this.teams.removeAll();
        },
        addTeam: function (id, name, isChecked) {
            t = new team(id, name, isChecked);
            this.teams.push(t);
        }
    };

我得到了所有这样的团队:

function GetAvailableTeams() {

        var jqxhr =
        $.getJSON('http://localhose/Service.svc/GetTeamsAll',
          function (data) {
                teamViewModel.clearTeams();
                $.each(data.GetTeamsAllResult, 
                    function (key, val) {
                        teamViewModel.addTeam(val.TeamId, val.TeamName, true);
                    });
                ko.applyBindings(teamViewModel, document.getElementById("teamNameLabel"));
          })
    }

如何数据绑定选择以将 TeamName 作为名称,将 TeamId 作为值。

这是我的尝试,但它的说法 id 无法识别:

<select id="teamNameLabel" onclick="nextfunction()" date-theme="f" data-bind="options: teams, optionsText: 'name', value: 'id'"></select>

我也想要返回的 id onchange()

4

1 回答 1

1

如果您只想存储,则应该使用optionsValue绑定而不是:valueid

<select id="teamNameLabel" data-bind="options: teams, optionsText: 'name', optionsValue: 'id'"></select>

当你使用value绑定时,你不应该用quotes. 在这种情况下,属性将存储整个team对象。

于 2012-10-23T14:16:36.090 回答