2009-07-27 38 views
2

我已经阅读了Jquery UI选项卡(1.7)的文档,我相信我在Jquery选项卡的头脑中有点特殊事件发生时点击一个特定的选项卡。Jquery UI选项卡:帮助我开始使用事件

我有基本的标签工作,并且我只想在选择特定选项卡时将焦点设置在文本框上。

的UI文件的状态,你通过处理select事件:

$('.selector').tabs({ 
    select: function(event, ui) { ... } 
}); 

我不完全相信上述手段。我已经通过一些其他的例子在这里阅读了stackoverflow,特别是example。不幸的是,演示不再适用于所提供的答案。

我创建和选择使用PHP的特定标签当前的代码:

$("#tabs").tabs(); 
$("#tabs").tabs('option', 'selected', <?php echo $tabID-1; ?>); 

工作正常。我想补充的时候选择了4选项卡的能力,我将焦点设置到文本框,类似的东西来:

$('#subject').focus(); 

回答

6

你要做的就是给$(“选择”)。 tabs()函数是一个关联数组(在JavaScript中它只是被称为对象)。 JavaScript正在使用这一事实很重要,您可以非常广泛地将函数分配给变量。如果您更容易阅读和理解,你可以试试这个:

var tab_select_function = function(event, ui) 
{ 
    // Objects available in the function context: 
    // ui.tab  // anchor element of the selected (clicked) tab 
    // ui.panel // element, that contains the selected/clicked tab contents 
    // ui.index // zero-based index of the selected (clicked) tab 
    alert("Tab with index " + ui.index + " clicked!"); 
}; 

$('#tabs').tabs({ 
    select: tab_select_function 
}); 
+0

DAFF, 我实现了你的建议,我在正确的方向前进。在tab_select_function中,我添加了一些代码来抓取哪个选项卡,现在只需提醒它。我得到的问题是它提醒我来自的标签索引,而不是我刚才点击的实际标签! var tab_select_function = function(event,ui) { var $ tabs = $('#tabs')。tabs(); var selected = $ tabs.tabs('option','selected'); alert(selected); }; – Ryan 2009-07-27 14:46:57