首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >knockout-kendo combobox数据源在渲染后没有更新?

knockout-kendo combobox数据源在渲染后没有更新?
EN

Stack Overflow用户
提问于 2013-09-26 03:39:00
回答 1查看 991关注 0票数 0

我正在使用knockout-kdo.js库开发一个web应用程序。我的问题是,在我有一个绑定到observableArray数据源的kendoComboBox之后。组合框不反映对observableArray所做的更改。

这是我绑定的组合框:

代码语言:javascript
复制
<input data-bind="kendoComboBox: { dataTextField: 'name', dataValueField: 'id', data:     choices, value: selectedChoice, template: '<span>Name: #: data.name # </span>' }" />

这是我的视图模型:

代码语言:javascript
复制
var ViewModel = function() {
this.choices = ko.observableArray([
    { id: "1", name: "apple"},
    { id: "2", name: "orange"},
    { id: "3", name: "banana"}
]);

this.AddChoice = function () {
    choices().push(new { id: "4", name: "frank" });

}

this.selectedChoice = ko.observable();}; 
ko.applyBindings(new ViewModel());

请参考以下jsfiddle:

http://jsfiddle.net/austinpantall/chNW8/

请注意,当单击该按钮以将项添加到数据源observableArray时会发生什么。组合框不会将新项目显示为选项。

我是knockoutkendo的新手,我正在寻找一种变通/替代的方法来让新项目出现在组合框中。

提前谢谢你,奥斯汀

EN

回答 1

Stack Overflow用户

发布于 2013-10-15 17:41:45

不确定这是否仍然是你的问题,但我是在自己看另一个问题的时候偶然发现这个问题的。此解决方案还假设使用jQuery,但我认为这正是您想要的:

HTML:

代码语言:javascript
复制
<div id="wrapper">
<input data-bind="kendoComboBox: { dataTextField: 'name', dataValueField: 'id', data: choices, value: selectedChoice, template: '<span>Name: #: data.name # </span>' }" />
<hr/>
Selected: <strong data-bind="text: selectedChoice"> </strong>

<input type="button" data-bind="click: AddChoice" value="Add Choice" />
</div>

JS / Knockout / jQuery:

代码语言:javascript
复制
var ViewModel = function() {
    this.choices = ko.observableArray([
        { id: "1", name: "apple"},
        { id: "2", name: "orange"},
        { id: "3", name: "banana"}
    ]);

    this.AddChoice = function () {
        choices.push({ id: "4", name: "frank" });

    }

    this.selectedChoice = ko.observable();
};

ko.applyBindings($('#wrapper'), ViewModel());

我已经调整了你的jsFiddle的版本,可以产生你所期望的结果:

http://jsfiddle.net/nTnwx/

希望这能帮到你。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19013746

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档