为kendo数字文本框设置tabindex

时间:2013-03-07 12:49:43

标签: javascript jquery kendo-ui kendo-grid kendo-combobox

如何为数字文本框设置标签索引..我的代码是..

$("#max_award_amount").kendoNumericTextBox({

    min:0,
    max: 99999999.99,

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

但它没有按预期工作。

3 个答案:

答案 0 :(得分:0)

知道究竟什么不起作用会更有帮助,但无论如何我都会尽力回答。

我认为您的代码无法正常工作的原因是因为您在进行了Kendo初始化之后在输入控件上设置了tabindex。剑道实际上隐藏了原始输入并创建了它自己作为控件的一部分,在此过程中它复制了一些属性,包括tabindex。

如上所述调用attr时,您将tabindex设置为原始的,现在隐藏的输入控件。尝试在html元素本身上设置tabindex。然后,Kendo应该在包装输入控件时复制该值。

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

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

修改

我更多地研究了这个,我似乎无法获得一组Kendo数字文本框来尊重我指定的tabindex。

似乎剑道在构造文本框时确实将tabindex从原始输入复制到新输入,但它也明确地将原始输入的tabindex设置回零(我查看了源代码)。我想这不会是一个问题,除了当你在文本框中单击时,隐藏生成的输入并显示原始输入!所以我现在不太确定剑道是通过创建一个新输入来实现的,但是当你点击框中时隐藏它并显示旧的输入。

我试图向剑道报告此错误但唉,他们的论坛现在只是“溢价”。似乎除非您付款,否则无法报告错误。表现不佳。

我通过在初始化后将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;
 });

完整演示here

答案 1 :(得分:0)

我们使用以下内容:

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

希望有所帮助。

答案 2 :(得分:0)

为kendoDropdownList设置tabindex:

$("#max_award_amount").data("kendoDropdownList").wrapper.attr("tabindex",4);