Jquery empty () функция работает слишком долго? - PullRequest
0 голосов
/ 13 июня 2018

У меня странная проблема.Я работаю с кендо, и у меня есть две клетки.Первый - это выпадающий список, а второй зависит от того, что я выберу в первом.Если это строка, вторая ячейка является выпадающим, если это int во второй ячейке, я получил numericbox и т. Д. Теперь, когда я выбираю строковое значение, отображается второй выпадающий список, но после этого, когда я хочу выбрать другой атрибут, например, int, раскрывающийся списокна numericbox не меняется, просто рядом с моим выпадающим меню находится цифра box.Экраны:

dropdown

dropdown and numericbox

Я пытался использовать функцию .empty (), но послепри использовании этой ячейки все время пусто, даже если я выберу другой атрибут.Я просто хочу очистить ячейку сетки один раз после выбора нового атрибута, а не очистить его навсегда.Пробовал также $('#myid').html("") но я получил тот же эффект.Может кто-нибудь объяснить мне, что я могу сделать?

1 Ответ

0 голосов
/ 13 июня 2018

Похоже, вам потребуется обновление после ввода нового значения в первом раскрывающемся списке.На странице API Kendo UI я нашел эту ссылку .Вы можете кодировать второй выпадающий список, чтобы подписаться на событие изменения первого выпадающего списка, после чего очистка второго выпадающего списка больше не понадобится.Пример в ссылке уже показывает использование значения раскрывающегося списка в качестве переменной.Видя, что виджет выпадающего списка в пользовательском интерфейсе кендо не имеет свойства видимости, вам нужно будет скрыть или показать оболочку для элемента, см. ответ от Lars Höppner .

IЯ добавил пример, который я сделал на основе ссылок:

<input id="dropdownlist" />
<input id="dropdownlist2" />
<script>
  function dropdownlist_change(e) {  
     var dropdownlistToHide = $("#dropdownlist2").data("kendoDropDownList");
     var value = this.value();

     if (value === "Apples"){
       dropdownlistToHide.wrapper.hide();
     } else if (value === "Oranges") {
       dropdownlistToHide.wrapper.show();
     }
  }
  $("#dropdownlist").kendoDropDownList({
    dataSource: [ "Apples", "Oranges" ]
  });

  $("#dropdownlist2").kendoDropDownList({
    dataSource: [ "Dinges", "Dinges2" ]
  });

  var dropdownlist = $("#dropdownlist").data("kendoDropDownList");
  dropdownlist.bind("change", dropdownlist_change);
  var dropdownlistToHide = $("#dropdownlist2").data("kendoDropDownList");
  dropdownlistToHide.wrapper.hide();
</script>

Окончательный dropdownlistToHide.wrapper.hide ();предназначен для скрытия виджета выпадающего списка с самого начала.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...