$(function() {
$("#tabs").tabs({
beforeActivate: function (event, ui) {
var tab = "";
tab = ui.newPanel.attr('id');
if( $('#tab-inserimento').attr('id') === tab ){
alert("a");
}else if( $('#tab-ricerca').attr('id') === tab ){
alert("b");
}
}
});
apriTab(tab);
});
我的这个功能有问题。 tab
变量获取当前所选标签的id值,确定。
但是,我还需要将此变量用于apriTab()
函数。但是,存在范围问题。就像编写的代码apriTab()
无法看到变量一样。要解决此问题,我可以在tab
之外声明$("#tabs").tabs({..
。
通过这种方式,我会创建另一个问题:tab = ui.newPanel.attr('id');
它不起作用。我确定,因为我使用chrome控制台进行了调试,整个功能都没有执行。
更新
$(function() {
$("#tabs").tabs({
beforeActivate: function (event, ui) {
var tab = "";
tab = ui.newPanel.attr('id');
if( $('#tab-inserimento').attr('id') === tab ){
getNotifiche(LIV_NOTIFICA_TAB, AREA_TEMATICA_PAGAMENTI, TAB_GESTIONE);
}else if( $('#tab-ricerca').attr('id') === tab ){
getNotifiche(LIV_NOTIFICA_TAB, AREA_TEMATICA_PAGAMENTI, TAB_CONSULTA);
}
apriTab(tab);
}
});
apriTab(tab); //Here, I get an error because tab variable is not visible. But, with this error, the code above of this call works! And, always about this call, if I remove it, nothing works again! How it's possible?!
});
答案 0 :(得分:0)
或者你可能有两个不同的变量
$(function() {
var tab = "";
$("#tabs").tabs({
beforeActivate: function (event, ui) {
tab = ui.newPanel.attr('id');
if( $('#tab-inserimento').attr('id') === tab ){
alert("a");
}else if( $('#tab-ricerca').attr('id') === tab ){
alert("b");
}
}
});
apriTab(tab);
});