2013-07-17 55 views
0

我想知道我是否可以使用KendoUI控制tabstrip的属性aria-controlsKendoUI Tabstrip咏叹调控件

事实上,我想改变它manualy选择不同的div,我不知道为什么它不工作:

<ul class="k-tabstrip-items k-reset"> 
<li class="k-state-active k-item k-tab-on-top k-state-default k-first" role="tab" aria-selected="true" aria-controls="tabstrip-1"> 
<a class="k-link">Baseball</a> 
</li> 
<li class="k-item k-state-default" role="tab" aria-controls="tabstrip-2"> 
<a class="k-link">Golf</a> 
</li> 
</ul> 

对控制div S:

<div class="k-content k-state-active" id="tabstrip-1" role="tabpanel" aria-expanded="true" style="display: block;"> 
    <p>text1</p> 
</div> 
<div class="k-content" id="tabstrip-2" role="tabpanel" aria-hidden="true" aria-expanded="false"> 
    <p>Text 2</p> 
</div> 

我想通过更改第一个选项卡(tabstrip-1tabstrip-2)的aria-controls,它会更改div的选择。

有谁知道为什么这是不可能的?我能做些什么来做到这一点?

+0

你是不是想programmati cally更改活动选项卡?有一个API调用“select(jQuery对象或索引)”,它将更改活动选项卡。 – Igorrious

+0

是的。但是在一个标签中我有一个表单(在ajax中)。当我提交表格时,我选择一个新标签。问题是:在提交之前,如果我添加一个带有“InsertAfter”的新选项卡。 Kendo更改标签的索引。所以,我必须更改“ajax-update”选项以选择正确的选项卡。 – user2591454

+0

您也可以尝试通过匹配标签的标题文字来选择标签。 var tabStrip = $(“#tabs”)。data(“kendoTabStrip”); tabStrip.select(tabStrip.tabGroup.children(“li:contains('NewTab')”)) – Igorrious

回答

0

使用accesskey属性和方法keypress

<a id="foo" href="some url" accesskey="1">My link</a> 
<script> 
function keyHandler(e) 
    { 
    if (e.altKey && e.keyCode == 87) 
    { 
    $("#tabstrip").focus(); 
    } 
    } 

$(document.body).keypress(keyHandler); 
</script> 

参考