Значение сброса поля со списком Kendo UI

Я использую комбо-поля Kendo UI в каскадном режиме, чтобы создать фильтр, который я хочу применить.

Как очистить / сбросить значение ComboBox пользовательского интерфейса Kendo?

Я пробовал:

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

все без толку. Проект представляет собой приложение MVC4, использующее движок Razor, и код в основном такой же, как Kendo UI. пример.


person ciantrius    schedule 28.06.2013    source источник


Ответы (4)


Если вы хотите использовать select, вам необходимо указать индекс опции. В противном случае используйте text.

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

Пример: http://jsfiddle.net/OnaBai/4aHbH/.

person OnaBai    schedule 28.06.2013
comment
Спасибо, именно то, что я хотел. Спасибо, что нашли дополнительное время, чтобы привести пример. - person ciantrius; 28.06.2013
comment
Я столкнулся с ошибками в Kendo ComboBox, где он иногда перестает правильно реагировать на .value (текст / значение) и .select (1), но все еще отвечает на .text ('xx'). (совершенно нормальные вызовы api, которые обычно работают, перестают работать) Я установил значение на входе перед созданием виджета, который теперь всегда работает. - person Curtis Yallop; 10.08.2013
comment
Это не работает ... попробуйте это ... выберите первое значение ... и нажмите "Сброс". теперь, снова выберите первое значение, каскадное окно не всплывает - person Sagar Kulkarni; 30.04.2014

Мне пришлось создать свою настраиваемую функцию очистки, расширяющую задействованные элементы управления Kendo 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();, чтобы очистить элемент управления и вызвать обработчик изменений при выполнении следующих действий: выберите элемент, очистите и снова выберите предыдущий элемент.

person Héctor Espí Hernández    schedule 15.07.2014

Это тоже работает:

$("#comboBox").data("kendoComboBox").value(null);
person doglobster    schedule 24.01.2014

Я обнаружил, что эти параметры ниже, похоже, работают для сброса поля со списком кендо. Вы можете запустить $("#comboBox").data("kendoComboBox").select() после двух попыток ниже, и вы должны увидеть возвращаемое значение -1, указывающее на его сброс.

$("#comboBox").data("kendoComboBox").value('')
$('#comboBox').data().kendoComboBox.value('')
$("#comboBox").data("kendoComboBox").select(-1)
$('#comboBox').data().kendoComboBox.select(-1)
person Matthew Ellison    schedule 04.08.2015