Сохранить предыдущий вариант выпадающего списка кендо с помощью клавиатуры - PullRequest
2 голосов
/ 28 марта 2019

Я хочу сохранить ранее выбранную опцию при навигации с помощью клавиатуры. Я добился этого, если пользователь нажимает на раскрывающийся список, но он не сохраняет эту опцию при навигации с помощью клавиатуры.

Код:

 CreateDropDown: function (id) {
    var me = IndexController;
    $("#Drop" + id + "").kendoDropDownList({
        name: "drop" + id,
        dataTextField: "text",
        dataValueField: "value",
        valueTemplate: '<i class="#:data.icon#">&nbsp;</i></span><span>#:data.text#</span>',
        template: '<i class="#:data.icon#">&nbsp;</i>' +
            '<span class="k-state-default"><p>#: data.text #</p></span>',
        dataSource: me.variable.options,
        index: 0,
        change: me.onChange,
        open: function (e) {
            me.options.previousOption = e.sender.value();
        }
    });
    me.AddShortText(id, "Short Answer");
}

и я могу использовать значение:

AddShortText: function (a, ChoiceText) {
    var me = IndexController;
    if (me.options.previousOption == "2" || me.options.previousOption == "3")
        $("#TypeDiv" + a).children(".toRemove").remove();
    else
        $("#TypeDiv" + a).children(".group").remove();        
    $("#TypeDiv" + a).append('<div class="group" style="width:50%">\
                                <input id="Answer'+ a + '" type="text" class="inputHighlight" disabled >\
                                <span class="bar"></span>\
                                <label class="labelHighlight">'+ ChoiceText.trim() + '</label>\
                            </div>');
},

GIF:

gif

Заранее спасибо

1 Ответ

1 голос
/ 28 марта 2019

Использование события select https://docs.telerik.com/kendo-ui/api/javascript/ui/dropdownlist/events/select

Функция выбора запускается с помощью клавиш или мыши

$("#Drop").kendoDropDownList({
      // your code
      select: function(e) {
        me.options.previousOption = e.sender.value();
      }
});
...