Javascript 使用Knockout-Kendo.js库刷新KendoDropDown

Javascript 使用Knockout-Kendo.js库刷新KendoDropDown,javascript,knockout.js,kendo-ui,Javascript,Knockout.js,Kendo Ui,我正在使用Ryan Niemeyer的Knockout-Kendo.js库。我有一个kendodropdown定义如下: <input id="availableLanguagesDropdown" data-bind="kendoDropDownList: { data: Languages, value:Language }" onchange="onAvailableLanguageChangeHandler();" /> omega.Language(""); var d

我正在使用Ryan Niemeyer的Knockout-Kendo.js库。我有一个kendodropdown定义如下:

<input id="availableLanguagesDropdown" data-bind="kendoDropDownList: { data: Languages, value:Language }" onchange="onAvailableLanguageChangeHandler();" />
omega.Language("");
var dropdownlist = $("dropdownlist").data("kendoDropDownList");
// re-render the items in drop-down list.
dropdownlist.refresh();
但是,最后一种可用的语言仍然显示在下拉列表中。我想我应该刷新一下kendodropdown。在kendoUI的文档中,它是这样做的:

<input id="availableLanguagesDropdown" data-bind="kendoDropDownList: { data: Languages, value:Language }" onchange="onAvailableLanguageChangeHandler();" />
omega.Language("");
var dropdownlist = $("dropdownlist").data("kendoDropDownList");
// re-render the items in drop-down list.
dropdownlist.refresh();

但是当我使用Knockout-Kendo.js库时,我不知道如何才能做到这一点。有人能告诉我当下拉列表中没有项目时如何刷新它吗?这能帮助我在没有项目时显示空下拉列表吗?谢谢你抽出时间

如果您传递
小部件
参数,绑定将以可观察的方式向您提供小部件。看起来简单地调用
refresh()
并不能起作用。我不得不使用
text
方法来查看它是否为空

比如:

<input id="availableLanguagesDropdown" data-bind="kendoDropDownList: { data: Languages, value:Language, widget: dropDown }" />
此处示例:


似乎是我应该在图书馆里解决的问题。我一直希望访问小部件并调用其方法只能用于高级或最后的使用。

如果您传递
小部件
参数,绑定将以可观察的方式向您提供小部件。看起来简单地调用
refresh()
并不能起作用。我不得不使用
text
方法来查看它是否为空

比如:

<input id="availableLanguagesDropdown" data-bind="kendoDropDownList: { data: Languages, value:Language, widget: dropDown }" />
此处示例:


似乎是我应该在图书馆里解决的问题。我一直希望访问小部件并调用其方法只能用于高级或最后的用途。

非常感谢。这就行了,非常感谢。这就行了。