2013-06-28 49 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)