更新活动标签

时间:2013-01-03 05:29:12

标签: javascript ajax jquery

我正在尝试将某个类更新为这些“假”标签

<!--[if !IE]>start section menu<![endif]-->
<ul class="section_menu">
    <li><a href="#" id="1" class="active"><span><span>stage one</span></span></a></li>
    <li><a href="#" id="2"  ><span><span>Stage two</span></span></a></li>
    <li><a href="#" id="3" ><span><span>Stage Three</span></span></a></li>
    <li><a href="#" id="4" ><span><span>Complete</span></span></a></li>
</ul>
<!--[if !IE]>end section menu<![endif]-->

我使用的是一个jQuery脚本,它创建了一个多步形式并拥有自己的导航系统,这些选项卡只是用于直观地显示表单中的进度。

脚本:http://www.jankoatwarpspeed.com/turn-any-webform-into-a-powerful-wizard-with-jquery-formtowizard-plugin/

 /* 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="#" > 

非常感谢任何帮助解决这个问题,

由于

1 个答案:

答案 0 :(得分:0)

保罗。

最好只使用常规jQueryUI选项卡http://jqueryui.com/tabs/。您只需使用标准选项卡的API调用通过java脚本切换这些选项卡。

如果您当前的标签是可点击的 - 您只需触发鼠标点击您需要的标签:

$("#tab1").trigger("click"); // or something like that, check jQuery docs...

问候。