Настройка tabindex для числового текстового поля кендо

Как установить индекс табуляции для числового текстового поля. Мой код..

$("#max_award_amount").kendoNumericTextBox({

    min:0,
    max: 99999999.99,

}).attr("tabindex","4");

Но это не работает, как ожидалось.


person Kiren S    schedule 07.03.2013    source источник


Ответы (3)


Было бы полезнее узнать, что именно не работает, но я все равно постараюсь ответить.

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

Когда вы вызываете attr, как указано выше, вы устанавливаете tabindex против исходного, теперь скрытого элемента управления вводом. Попробуйте установить tabindex для самого элемента html. Затем Кендо должен скопировать значение при переносе элемента управления вводом.

<input id="box1" tabIndex="0" />

<script type="text/javascript">
   $(function() {
       $("#box1").kendoNumericTextBox();
   });
</script>

ИЗМЕНИТЬ

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

Кажется, что Kendo копирует tabindex из исходного ввода в новый ввод при создании текстового поля, но также явно устанавливает tabindex исходного ввода обратно в ноль (я посмотрел исходный код). Я думаю, это не было бы такой большой проблемой, за исключением того, что когда вы щелкаете в текстовом поле, сгенерированный ввод скрывается, а отображается исходный! Так что теперь я не совсем уверен, чего Кендо пытается достичь здесь, создавая новый вход, а затем просто скрывая его и показывая старый, когда вы щелкаете в поле.

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

Я получил эту работу, установив tabindex обратно на исходный элемент после инициализации.

 <input id="box1" tabindex="10" />
 <input id="box2" tabindex="12" />
 <input id="box3" tabindex="11" />
 <input id="box4" tabindex="13" />  

 $(function() {
   $("#box1").kendoNumericTextBox()[0].tabIndex = 10;
   $("#box2").kendoNumericTextBox()[0].tabIndex = 12;
   $("#box3").kendoNumericTextBox()[0].tabIndex = 11;
   $("#box4").kendoNumericTextBox()[0].tabIndex = 13;
 });

Полная демонстрация здесь

person Matt B    schedule 13.03.2013
comment
Я делаю именно то, что вы сказали выше. Я установил индекс вкладки 3 для своего элемента. Но после 2 он переходит на 4 вместо 3. Это моя проблема. - person Kiren S; 15.03.2013

Мы используем следующее:

.HtmlAttributes(new { id = "EligibleDate", tabindex = 2 })

Надеюсь, это поможет.

person Shad    schedule 15.03.2013

Установка tabindex для kendoDropdownList:

$("#max_award_amount").data("kendoDropdownList").wrapper.attr("tabindex",4);
person kishor parmar    schedule 19.03.2014