从另一个 javascript 动态添加 jquery 选项卡
我正在使用 jQuery 创建选项卡。我将 javascript 代码放在一个单独的文件中。 tabset 变量用于引用选项卡。 Javascript 具有以下内容:
$(document).ready(function() {
//add a tabset
var tabset = $("#tabset").tabs({
/*add close button*/
tabTemplate: "<li><a href='#{href}'>#{label}</a> <span class='ui-icon ui-icon-close'>Remove Tab</span></li>",
/*cache tabs*/
cache: true,
/*immediately select a just added tab*/
add: function(event, ui) {
//alert(ui.panel.id);
tabset.tabs('select', '#' + ui.panel.id);
}
});
我可以使用下面的语句添加另一个选项卡。如果我从此 javascript 调用此语句,效果很好。
tabset.tabs('add', url, nameToCheck);
我想从另一个 javascript 文件向名为 #tabset 的选项卡添加一个新选项卡,在该文件中我无法使用 tabset 变量,因为它超出了范围。
我尝试使用 jquery 选择器查找选项卡集并调用添加函数,但未添加选项卡。请检查下面的声明:
$('#tabset').tabs('add', 'url', 'newTab');
我的问题是:如何从任何 javascript 文件向现有选项卡集添加另一个选项卡?如何选择现有选项卡集并调用添加函数?
此致, 爪哇努斯
I am using jQuery to create tabs. I put the javascript code in a separate file. tabset variable is used to reference the tab. Javascript has the following content:
$(document).ready(function() {
//add a tabset
var tabset = $("#tabset").tabs({
/*add close button*/
tabTemplate: "<li><a href='#{href}'>#{label}</a> <span class='ui-icon ui-icon-close'>Remove Tab</span></li>",
/*cache tabs*/
cache: true,
/*immediately select a just added tab*/
add: function(event, ui) {
//alert(ui.panel.id);
tabset.tabs('select', '#' + ui.panel.id);
}
});
I could add another tab with the statement below. This works fine if I call this statement from this javascript.
tabset.tabs('add', url, nameToCheck);
I would like to add a new tab to the tabset called #tabset from another javascript file where I could not use tabset variable because it is out of scope.
I try to use jquery selector to find tabset and call add function but the tab is not added. Please check the statement below:
$('#tabset').tabs('add', 'url', 'newTab');
My question is: how to add another tab to existing tabset from any javascript file? How to select an existing tabset and to call an add function?
Best regards,
Javanus
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
尝试这样做:
在另一个 JS 文件中:
或者简单地:
编辑:问题是您可能在第二个文件之前添加第一个文件。因此,
$('#tabset')
没有 JQueryUI 的选项卡功能,并且$('#tabset').tabs('add')
不起作用。像这样切换顺序:
file1.js:
file2.js:
您索引视图:
检查文件顺序。快乐编码!
Try to do this:
And in the other JS file:
Or simply:
EDIT: the problem is that you probably are adding your first file before your second file. So,
$('#tabset')
doesn't have tabs feature from JQueryUI and$('#tabset').tabs('add')
is not working.Switch the order like this:
file1.js:
file2.js:
You index view:
Check file order. Happy codding!