我正在使用jQuery UI标签在某些表单之间切换
现在,我需要在单击选项卡时在第一个输入字段上添加focus()
。
如果单击索引为2的选项卡,则会触发警报,但不会focus()
。
jQuery("#newRegistration").tabs({
fx: { opacity: 'toggle', speed: 'fast' },
select: function(event, ui) {
if(ui.index == 0) { jQuery('#form1_name').focus(); }
if(ui.index == 1) { jQuery('#form2_name').focus(); }
if(ui.index == 2) { alert('this shows'); jQuery('#form3_name').focus(); }
}
});
为什么焦点不起作用?
表单数据如下所示(简短版本):
<div id="registrationforms">
<form id="form1_data_form" class="ui-tabs-hide" action="" method="post"></form>
<form id="form2_data_form" class="ui-tabs-hide" action="" method="post"></form>
<form id="form3_data_form" class="" action="http://mysite.com/register/" method="post">
<input type="text" value="" maxlength="40" name="form3_name" id="form3_name">
</form>
</div>
答案 0 :(得分:2)
使用show
事件代替select
事件。
jQuery("#newRegistration").tabs({
fx: { opacity: 'toggle', speed: 'fast' },
show: function(event, ui) {
if(ui.index == 0) { jQuery('#form1_name').focus(); }
if(ui.index == 1) { jQuery('#form2_name').focus(); }
if(ui.index == 2) { alert('this shows'); jQuery('#form3_name').focus(); }
}
});
直播示例 - http://jsfiddle.net/HN9uK/。