Javascript 更新活动选项卡
我正在尝试为这些“假”选项卡更新一个活动类Javascript 更新活动选项卡,javascript,ajax,jquery,Javascript,Ajax,Jquery,我正在尝试为这些“假”选项卡更新一个活动类 我使用一个jQuery脚本制作一个多步骤表单,并有自己的导航系统,这些选项卡只是为了直观地显示表单的进度 脚本: /*由jankoatwarpspeed.com创建*/ (函数($){ $.fn.formToWizard=函数(选项){ 选项=$.extend({ 提交按钮:“ },选项); var元素=这个; var步骤=$(元素).find(“字段集”); var count=steps.size(); var submmitBut
我使用一个jQuery脚本制作一个多步骤表单,并有自己的导航系统,这些选项卡只是为了直观地显示表单的进度
脚本:
/*由jankoatwarpspeed.com创建*/
(函数($){
$.fn.formToWizard=函数(选项){
选项=$.extend({
提交按钮:“
},选项);
var元素=这个;
var步骤=$(元素).find(“字段集”);
var count=steps.size();
var submmitButtonName=“#”+options.submitButton;
$(子mmitButtonName).hide();
// 2
$(元素)。在(“
”)之前;
步骤。每个步骤(功能(i){
$(this.wrap(“”);
$(this.append(“Step”+(i+1)+“+name+””;
如果(i==0){
createNextButton(i);
选择步骤(i);
}
else if(i==计数-1){
$(“#步骤”+i).hide();
按钮(i);
}
否则{
$(“#步骤”+i).hide();
按钮(i);
createNextButton(i);
}
});
功能按钮(i){
var stepName=“step”+i;
$(“#”+stepName+“命令”).append(“”);
$(“#”+步骤名+“下一步”).bind(“单击”,函数(e){
$(“#”+stepName).hide();
$(#步骤“+(i+1)).show();
如果(i+2==计数)
$(子mmitButtonName).show();
选择步骤(i+1);
});
}
功能选择步骤(i){
$(“#步骤li”).removeClass(“当前”);
$(“#stepDesc”+i).addClass(“当前”);
}
}
})(jQuery);
保罗
最好使用通用的jQueryUI选项卡。您只需使用标准选项卡的API调用,通过java脚本切换这些选项卡即可
如果您当前的选项卡是可单击的-您可以简单地触发鼠标单击以获得所需的选项卡:
$("#tab1").trigger("click"); // or something like that, check jQuery docs...
问候。对不起,你的问题是什么?有什么问题;它有什么不应该做的呢?问题的JSFIDLE链接?抱歉,我应该解释得更好,脚本工作正常,只是我无法解决如何使它将下一个选项卡类更新为活动,并将上一个选项卡类取消活动,尽管选项卡没有被单击。谢谢你能告诉我们你是如何调用这个脚本的吗?
/* Created by jankoatwarpspeed.com */
(function($) {
$.fn.formToWizard = function(options) {
options = $.extend({
submitButton: ""
}, options);
var element = this;
var steps = $(element).find("fieldset");
var count = steps.size();
var submmitButtonName = "#" + options.submitButton;
$(submmitButtonName).hide();
// 2
$(element).before("<ul id='steps'></ul>");
steps.each(function(i) {
$(this).wrap("<div id='step" + i + "'></div>");
$(this).append("<p id='step" + i + "commands'></p>");
// 2
var name = $(this).find("legend").html();
$("#steps").append("<li id='stepDesc" + i + "'>Step " + (i + 1) + "<span>" + name + "</span></li>");
if (i == 0) {
createNextButton(i);
selectStep(i);
}
else if (i == count - 1) {
$("#step" + i).hide();
createPrevButton(i);
}
else {
$("#step" + i).hide();
createPrevButton(i);
createNextButton(i);
}
});
function createPrevButton(i) {
var stepName = "step" + i;
$("#" + stepName + "commands").append("<a href='#' id='" + stepName + "Prev' class='prev'>< Back</a>");
$("#" + stepName + "Prev").bind("click", function(e) {
$("#" + stepName).hide();
$("#step" + (i - 1)).show();
$(submmitButtonName).hide();
selectStep(i - 1);
});
}
function createNextButton(i) {
var stepName = "step" + i;
$("#" + stepName + "commands").append("<a href='#' id='" + stepName + "Next' class='next'>Next ></a>");
$("#" + stepName + "Next").bind("click", function(e) {
$("#" + stepName).hide();
$("#step" + (i + 1)).show();
if (i + 2 == count)
$(submmitButtonName).show();
selectStep(i + 1);
});
}
function selectStep(i) {
$("#steps li").removeClass("current");
$("#stepDesc" + i).addClass("current");
}
}
})(jQuery);
<script type="text/javascript" src="ajax.googleapis.com/ajax/libs/jquery/1.2.6/…; <script type="text/javascript" src="formToWizard.js"></script> <script type="text/javascript"> $(document).ready(function(){ $("#newproduct").formToWizard({ submitButton: 'SaveAccount' }) }); </script>
<form id="newproduct" action="#" >
$("#tab1").trigger("click"); // or something like that, check jQuery docs...