代码之家  ›  专栏  ›  技术社区  ›  Zia Yamin

如何通过点击JavaScript中的按钮转到上一个选项卡?

  •  0
  • Zia Yamin  · 技术社区  · 4 年前

    我正在使用引导表单向导分多步在数据库中注册数据,问题在于我是js的初学者,知道的不多。 我下面有一些代码,有一个 next 我想添加一个按钮,当我点击它转到上一个选项卡时,我不知道如何编码,请帮助我。 提前感谢。!

    <div class="container">
         <div class="stepwizard">
         <div class="stepwizard-row setup-panel">
         <div class="stepwizard-step">
            <a href="#step-1" type="button" class="btn btn-primary btn-circle">1</a>
            <p>Step 1</p>
        </div>
        <div class="stepwizard-step">
            <a href="#step-2" type="button" class="btn btn-default btn-circle" disabled="disabled">2</a>
            <p>Step 2</p>
        </div>
    </div>
    <form role="form">
    <div class="row setup-content" id="step-1">
        <div class="col-xs-12">
            <div class="col-md-12">
                <h3> Step 1</h3>
                //here go to the next tab
                <button class="btn btn-primary nextBtn btn-lg pull-right" type="button" >Next</button>
                
            </div>
        </div>
    </div>
    <div class="row setup-content" id="step-2">
        <div class="col-xs-12">
            <div class="col-md-12">
                <h3> Step3</h3>
                <button class="btn btn-success btn-lg pull-right" type="submit">Finish!</button>
                <button class="btn btn-primary nextBtn btn-lg pull-right" type="button" >Previous</button>
            </div>
        </div>
    </div>
    

    js代码:-

    $(document).ready(function () {
    
    var navListItems = $('div.setup-panel div a'),
            allWells = $('.setup-content'),
            allNextBtn = $('.nextBtn');
    
    allWells.hide();
    
    navListItems.click(function (e) {
        e.preventDefault();
        var $target = $($(this).attr('href')),
                $item = $(this);
    
        if (!$item.hasClass('disabled')) {
            navListItems.removeClass('btn-primary').addClass('btn-default');
            $item.addClass('btn-primary');
            allWells.hide();
            $target.show();
            $target.find('input:eq(0)').focus();
        }
    });
    // go to the next tab when clicked on nextBtn
    allNextBtn.click(function(){
        var curStep = $(this).closest(".setup-content"),
            curStepBtn = curStep.attr("id"),
            nextStepWizard = $('div.setup-panel div a[href="#' + curStepBtn + '"]').parent().next().children("a"),
            curInputs = curStep.find("input[type='text'],input[type='url']"),
            isValid = true;
    
        $(".form-group").removeClass("has-error");
        for(var i=0; i<curInputs.length; i++){
            if (!curInputs[i].validity.valid){
                isValid = false;
                $(curInputs[i]).closest(".form-group").addClass("has-error");
            }
        }
    
        if (isValid)
            nextStepWizard.removeAttr('disabled').trigger('click');
    });
    
    $('div.setup-panel div a.btn-primary').trigger('click');
    });
    
    0 回复  |  直到 4 年前
        1
  •  1
  •   Mohit RaiYani    4 年前

    你应该试试这个。。

    添加“上一个按钮”,当单击上一按钮时,我们选择上一个元素。

    $(document).ready(function () {
    
                var navListItems = $('div.setup-panel div a'),
                        allWells = $('.setup-content'),
                        allNextBtn = $('.nextBtn');
                        allPrevBtn = $('.prevBtn');
    
                allWells.hide();
    
                navListItems.click(function (e) {
                    e.preventDefault();
                    var $target = $($(this).attr('href')),
                            $item = $(this);
    
                    if (!$item.hasClass('disabled')) {
                        navListItems.removeClass('btn-primary').addClass('btn-default');
                        $item.addClass('btn-primary');
                        allWells.hide();
                        $target.show();
                        $target.find('input:eq(0)').focus();
                    }
                });
                // go to the next tab when clicked on nextBtn
                allNextBtn.click(function(){
                    var curStep = $(this).closest(".setup-content"),
                        curStepBtn = curStep.attr("id"),
                        nextStepWizard = $('div.setup-panel div a[href="#' + curStepBtn + '"]').parent().next().children("a"),
                        curInputs = curStep.find("input[type='text'],input[type='url']"),
                        isValid = true;
    
                    $(".form-group").removeClass("has-error");
                    for(var i=0; i<curInputs.length; i++){
                        if (!curInputs[i].validity.valid){
                            isValid = false;
                            $(curInputs[i]).closest(".form-group").addClass("has-error");
                        }
                    }
    
                    if (isValid)
                        nextStepWizard.removeAttr('disabled').trigger('click');
                });
    
                allPrevBtn.click(function(){
                    var curStep = $(this).closest(".setup-content"),
                        curStepBtn = curStep.attr("id"),
                        nextStepWizard = $('div.setup-panel div a[href="#' + curStepBtn + '"]').parent().prev().children("a"),
                        curInputs = curStep.find("input[type='text'],input[type='url']"),
                        isValid = true;
    
                    $(".form-group").removeClass("has-error");
                    for(var i=0; i<curInputs.length; i++){
                        if (!curInputs[i].validity.valid){
                            isValid = false;
                            $(curInputs[i]).closest(".form-group").addClass("has-error");
                        }
                    }
    
                    if (isValid)
                        nextStepWizard.removeAttr('disabled').trigger('click');
                });
    
                $('div.setup-panel div a.btn-primary').trigger('click');
            });
    <div class="container">
            <div class="stepwizard">
              <div class="stepwizard-row setup-panel">
                <div class="stepwizard-step">
                  <a href="#step-1" type="button" class="btn btn-primary btn-circle">1</a>
                  <p>Step 1</p>
              </div>
              <div class="stepwizard-step">
                  <a href="#step-2" type="button" class="btn btn-default btn-circle" disabled="disabled">2</a>
                  <p>Step 2</p>
              </div>
          </div>
          <form role="form">
          <div class="row setup-content" id="step-1">
              <div class="col-xs-12">
                  <div class="col-md-12">
                      <h3> Step 1</h3>
                      //here go to the next tab
                      <button class="btn btn-primary nextBtn btn-lg pull-right" type="button" >Next</button>
                      
                  </div>
              </div>
          </div>
          <div class="row setup-content" id="step-2">
              <div class="col-xs-12">
                  <div class="col-md-12">
                      <h3> Step3</h3>
                      <button class="btn btn-success btn-lg pull-right" type="submit">Finish!</button>
                      <button class="btn btn-primary prevBtn btn-lg pull-right" type="button" >Previous</button>
                  </div>
              </div>
          </div>