2013-06-28 45 views
12

我在级联模式下使用Kendo UI组合框来构建我希望应用的过滤器。Kendo UI组合框重置值

如何清除/重置Kendo UI组合框的值?

我已经试过:

$("#comboBox").data("kendoComboBox").val(''); 
$("#comboBox").data("kendoComboBox").select(''); 
$("#comboBox").data("kendoComboBox").select(null); 

都无济于事。该项目是使用Razor引擎的MVC4应用程序,代码与Kendo UI example基本相同。

回答

17

如果你想使用select你需要提供选项的索引。否则,使用text

$("#comboBox").data("kendoComboBox").text(''); 

例子:http://jsfiddle.net/OnaBai/4aHbH/

+0

谢谢,正是我想要的。感谢您花费额外时间提供示例。 – ciantrius

+1

我一直在Kendo ComboBox中遇到bugginess,它有时会停止对“.value(text/value)”和“.select(1)”的正确响应,但它仍然响应“.text('xx')”。 (完全正常的API调用,通常工作停止工作)我在构建现在始终工作的小部件之前在输入上设置值。 –

+0

这不起作用..试试这个..选择第一个值..然后点击重置。现在,再次选择第一个值级联框不会弹出 –

1

这也适用于:

$("#comboBox").data("kendoComboBox").value(null); 
3

我不得不创建扩展参与剑道UI类似下面的控制我的自定义功能明确:

kendo.ui.ComboBox.fn.clear = kendo.ui.AutoComplete.fn.clear = function() { 
    if (!!this.text) { 
     this.text(""); 
    } 
    if (!!this.value) { 
     this.value(null); 
    } 
    this._prev = this.oldIndex = this._old = this._last = undefined; 
}; 

然后你可以拨打$("mycontrol").data("kendoAutoComplete").clear();清除控件并在执行以下操作时调用更改处理程序:选择一个项目,清除并再次选择上一个项目。

0

我发现下面的这些选项似乎能够重置kendo组合框。在尝试两次之后,您可以运行$("#comboBox").data("kendoComboBox").select(),您应该看到返回-1的值,表示其重置。

$("#comboBox").data("kendoComboBox").value('') 
$('#comboBox').data().kendoComboBox.value('') 
$("#comboBox").data("kendoComboBox").select(-1) 
$('#comboBox').data().kendoComboBox.select(-1)