在以前的版本中,我编写了以下代码来关注所选选项卡的第一个文本框:
$(".ui-tabs-panel:not(.ui-tabs-hide) input[type='text']:first").focus();
ui-tabs-hide
从 1.9.x 版本开始,这不再有效。
如何定位第一个input
活动选项卡?
在这里,我放了我的完整代码。
$(function() {
$("input:submit, button").button();
$("#tabs").tabs({
beforeLoad: function(event, ui) {
ui.ajaxSettings.type = 'POST';
ui.jqXHR.error(function() {
ui.panel.html(
"Couldn't load this tab. We'll try to fix this as soon as possible. " +
"If this wouldn't be a demo.");
});
}, beforeActivate: function(event, ui) {
try {
frmGlbObject.validationEngine('hideAll');
} catch (e) {
}
},
load: function(event, ui) {
var tabindex = $(ui.tab).index();
tableListIndex = tabindex;
frmGlbObject = $(".ui-tabs-active input[type='text']:first").closest("form");
$(".ui-tabs-active input[type='text']:first").focus();
frmGlbObject.validationEngine('attach');
divGlbObject = $(frmGlbObject).find(".clsdivs");
txtGlbObject = $(frmGlbObject).find(".clsajaxcall[type='text']")
hdnGlbObject = $(frmGlbObject).find(".clsajaxcall[type='hidden']")
$(".ui-tabs-panel").css('background-color', '#ddddff');
if (tabindex == 0) {
fun1();
} else if (tabindex == 1) {
fun2();
} else if (tabindex == 2) {
fun3();
}
}, activate: function(event, ui) {
$(".ui-tabs-active input[type='text']:first").focus();
frmGlbObject = $(".ui-tabs-panel:not(.hide) input[type='text']:first").closest("form");
divGlbObject = $(frmGlbObject).find(".clsdivs");
txtGlbObject = $(frmGlbObject).find(".clsajaxcall[type='text']")
hdnGlbObject = $(frmGlbObject).find(".clsajaxcall[type='hidden']")
$(".ui-tabs-panel:not(.hide) input[type='text']").bind("keydown", function(e) {
var n = $(".ui-tabs-panel:not(.hide) input[type='text']").length;
if (e.which == 13) {
e.preventDefault(); //Skip default behavior of the enter key
var nextIndex = $(".ui-tabs-panel:not(.hide) input[type='text']").index(this) + 1;
if (nextIndex < n)
$(".ui-tabs-panel:not(.hide) input[type='text']")[nextIndex].focus();
else {
//$(':input:not(input[type=hidden])')[nextIndex-1].blur();
//$('.clsbtnsubmit').click();
}
}
});
}
});
});
这里我有两个问题:
frmGlbObject = $(".ui-tabs-panel:not(.hide) input[type='text']:first").closest("form");
$(".ui-tabs-active input[type='text']:first").focus();
以上语句在 Jquery 最新版本中不起作用。
谢谢