繁体   English   中英

绑定选项和optionsknockout.js中的Select下拉列表中的文本

[英]Binding options and optionsText in Select dropdown in knockout.js

我在这里和其他网站上阅读了所有内容,但不了解我的问题。 看起来应该可以,但是不能。 我将[Object object]作为选项。

HTML

 <select data-bind="options: Cities, optionsText: Cities.CityNameRu"></select>

昏死

function CityModel(data) {
    this.CityId = ko.observable(data.CityId);
    this.CityNameRu = ko.observable(data.CityNameRu);
    this.CityName = ko.observable(data.CityName);
}

function IndexModel() {
    var self = this;
    self.Cities = ko.observableArray([]);

    self.GetCities = function () {
        $.ajax({
            type: "GET",
            url: '/FetchCities',
            dataType: "json",
            success: function (data) {
                self.SuccessfullyRetrievedModelsFromAjax(data);   
            },
            error: function (err) {
                alert(err.status + " : " + err.statusText);
            }
        });
    };

    this.SuccessfullyRetrievedModelsFromAjax = function (models) {
        ko.utils.arrayForEach(models, function (model) {
            self.Cities.push(new CityModel(model));
        });
    };
    self.GetCities();
}

杰森回应

[{"CityId":1,"CityName":"philadelphia","CityNameRu":"Филадельфия"},{"CityId":2,"CityName":"new-york","CityNameRu":"Нью Йорк"}

optionsText的值是每个用于文本的options数组元素内的属性的字符串名称,因此您应将绑定更改为:

<select data-bind="options: Cities, optionsText: 'CityNameRu'"></select>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM