Knockout Kendo下拉列表获取所选项目的文本
我的应用程序是MVC 5.我使用以下Knockout Kendo下拉列表:
Selected: var ViewModel = function () { var self = this; this.foodgroups = ko.observableArray([ { id: "1", name: "apple" }, { id: "2", name: "orange" }, { id: "3", name: "banana" } ]); var foodgroup = { name: self.name, id: self.id }; this.foodgroup = ko.observable(); ko.bindingHandlers.kendoDropDownList.options.optionLabel = " - Select -"; this.foodgroup.subscribe(function (newValue) { alert(newValue.name); }); }; ko.applyBindings(new ViewModel());
我正在尝试获取所选项目的文本。 如果我使用alert(newValue)我得到id,当我使用newValue.name或newValue.Text时,我得到了未定义。
我认为KendoDropDownList()
不支持将复杂对象作为数据值。 然后我认为更好的方法是使用ko.utils.arrayFirst()
。
为了方便,我做了一个Jsfiddle的例子
希望这个帮助