我有一系列标签,其中的内容是从PHP文件加载的,其中包含一些jquery代码。在初始页面加载时,此代码不起作用,并且在Firebug中根本不显示。如果我单击另一个选项卡(然后它通过相同的PHP脚本加载内容),代码将显示并运行。如果我单击回原始默认选项卡,代码将再次运行。
所以要点是:嵌入式jquery代码在最初创建选项卡时不起作用(甚至不显示),但是一旦你单击选项卡上的内容(并在ajax中触发重新加载)就会生效。
创建标签的代码:
var xmlParser = function(xml) {
var index = 0;
$(xml).find("group").each(function() {
var name = $(this).find("name").text();
tabArray[name] = index;
$("#tabs").tabs( 'add', 'perms.php?m=getgroupTAB&g=' + name, name);
index++;
})
};
[我为以后的标签操作保留了一个索引]
从PHP加载的代码是:
<script>
$(function(){
$("#%name%_addperm").click(function(){
addperm("%name%", $("#%name%_txtperm").val(), $("#%name%_permWorld").val());
});
$("#%name%_delperm").click(function(){
delperm("%name%", $("#%name%_PBox").val());
});
$("#%name%_manageUserGroup").click(function(){
manageUserGroups("%name%");
});
});
</script>';
其中%name%在加载前被groupname替换。
同样,如果我让页面加载,然后单击选项卡(加载内容),此代码可以很好地工作。如果我尝试在默认页面上使用这些按钮,它就不起作用(并且代码根本不会出现在firebug中)。
我尝试让初始脚本在执行其他所有操作后选择其他选项卡($('#tabs')。tabs(例如“select”,2)),它会给出相同的结果。用户必须单击其选项卡才能加载工作脚本。
有人看过这个,可以帮忙吗?