通过jquery打开具有特定HIDDEN TAB(没有nav-tabs)的引导模态

时间:2019-06-29 08:59:17

标签: ajax jquery twitter-bootstrap

此模式框没有可见的选项卡。我只是使用 href属性导航到其他页面。

<div id="bootmodal" class="modal fade" tabindex="-1" data-width="370" data-backdrop="static" data-keyboard="false" style="display: none;">
    <div class="tab-content">

    <!--
        NOTE: i'll not use nav-tab
        ===========================
        <ul class="nav nav-tabs col-md-3 custom-bullet">
            <li class="active"><a data-toggle="tab" href="#login_tab">Login</a></li>
            <li><a data-toggle="tab" href="#lostpass_tab">Lost Your Password?</a></li>
        </ul>
    -->

        <div class="tab-pane active fade in" id="login_tab">
            <form id="login" action="login" method="post">
                <div class="modal-header">
                </div>
                <div class="modal-body">
                </div>
                <div class="modal-footer">
                    <a href="#lostpass_tab" data-toggle="tab"><span class="label label-info pull-left"><?php _e('Lost your password?','woocomputers'); ?></span></a>
                    <?php if (get_option( 'users_can_register' ) != true): ?>
                        <a href="#register_tab" data-toggle="tab"><span class="label label-danger pull-right"><?php _e('Registration is disable rightn now!','woocomputers'); ?></span></a>
                    <?php else: ?>
                    <a href="#register_tab" data-toggle="tab"><span class="label label-danger pull-right"><?php _e('Create a New Account.','woocomputers'); ?></span></a>
                    <?php endif; ?>
                </div>
            </form>
        </div>

        <?php if (get_option( 'users_can_register' ) == true): ?>
            <div class="tab-pane fade in" id="register_tab">
            </div>
        <?php endif; ?>

        <div class="tab-pane fade in" id="lostpass_tab">
        </div>

    </div>
</div>

我想通过使用打开特定的隐藏标签

<button type="button" id="wp-ajax-logout" class="btn"  data-toggle="modal" data-target="#bootmodal">Login</button>
<button type="button" id="wp-ajax-lost-pass" class="btn"  data-toggle="modal" data-target="#bootmodal">Lost your password</button>

或通过标签

<a href="#login_tab" class="btn" data-toggle="modal" data-target="#bootmodal" >Register</a>
<a href="#lostpass_tab" class="btn" data-toggle="modal" data-target="#bootmodal" >Register</a>

是否可以使用jquery打开特定的隐藏标签?

编辑:

我想通过短码功能使用页面模板中的触发器<button>Register</button><a href="#login_tab">Login</a>

我在网站周围找到了一些代码。他们使用js。

$("#bootmodal").on('shown.bs.modal', function(e) {
    var tab = e.relatedTarget.hash;
    $('.nav-tabs a[href="'+tab+'"]').tab('show')
})

在这里,他们使用.nav-tabs,但我不想要。没有这个问题,一切都会很好。

2 个答案:

答案 0 :(得分:0)

(对不起@Chetan Vaghela,我无法添加评论)。您将href路径#register_tab更新为#register_tab_bt n。但这是行不通的。我仍然无法进入登录表单的.modal-footer链接来注册表单或丢失密码的表单。还有其他方法吗?

答案 1 :(得分:-1)

是的,您可以使用jquery打开特定的隐藏选项卡。我已经创建了演示,您可以从下面的代码片段中进行引用。

HTML

<ul class="tab-controllers">
      <li class="active"><a id="login_tab_btn" class="btn active" data-toggle="modal" data-target="#bootmodal"  >Login</a></li>
      <li><a id="lostpass_tab_btn" class="btn" data-toggle="modal" data-target="#bootmodal" >Lost Your Password?</a></li>
      <li><a id="register_tab_btn" class="btn" data-toggle="modal" data-target="#bootmodal">Register</a></li>
</ul>


<div id="bootmodal" class="modal fade" tabindex="-1" data-width="370" data-backdrop="static" data-keyboard="false" style="display: none;">
    <div class="tab-content">


        <div class="tab-pane active" id="login_tab">
            <form id="login" action="login" method="post">
                <div class="modal-header"> <h2>Login tab Content</h2>
                </div>
                <div class="modal-body">
                </div>
                <div class="modal-footer">
                 <a href="#lostpass_tab_btn"><span class="label label-info pull-left"><?php _e('Lost your password?','woocomputers'); ?></span></a>
                <?php if (get_option( 'users_can_register' ) != true): ?>
                    <a href="#register_tab_btn"><span class="label label-danger pull-right"><?php _e('Registration is disable rightn now!','woocomputers'); ?></span></a>
                <?php else: ?>
                <a href="#register_tab_btn"><span class="label label-danger pull-right"><?php _e('Create a New Account.','woocomputers'); ?></span></a>
                <?php endif; ?>                          
                </div>
            </form>
        </div>

        <?php if (get_option( 'users_can_register' ) == true): ?>
            <div class="tab-pane" id="register_tab">
               <div class="modal-header"> <h2>register tab Content</h2>
                </div>
                <div class="modal-body">

                     </div>
                    <div class="modal-footer">                    
                </div>
            </div>
        <?php endif; ?>

        <div class="tab-pane" id="lostpass_tab">
          <div class="modal-header"><h2>Lost Password tab Content</h2>
                </div>
                <div class="modal-body">
                </div>
                <div class="modal-footer">                    
                </div>
        </div>

    </div>
</div>

JS

jQuery(document).ready(function($) {

jQuery('#login_tab').show();
jQuery('#register_tab').hide();
jQuery('#lostpass_tab').hide();

jQuery(document).on('click', '#login_tab_btn', function() {
    jQuery(".tab-controllers li").removeClass("active");
    jQuery(".tab-controllers li a").removeClass("active");
    jQuery(this).addClass("active");
    jQuery(this).parent().addClass("active");
    jQuery('#register_tab').hide();
    jQuery('#lostpass_tab').hide();
    jQuery('#login_tab').show();
});
 jQuery(document).on('click', '#lostpass_tab_btn', function() {
    jQuery(".tab-controllers li").removeClass("active");
    jQuery(".tab-controllers li a").removeClass("active");
    jQuery(this).addClass("active");
    jQuery(this).parent().addClass("active");
    jQuery('#login_tab').hide();
    jQuery('#register_tab').hide();
    jQuery('#lostpass_tab').show();
});
 jQuery(document).on('click', '#register_tab_btn', function() {
    jQuery(".tab-controllers li").removeClass("active");
    jQuery(".tab-controllers li a").removeClass("active");
    jQuery(this).addClass("active");
    jQuery(this).parent().addClass("active");
    jQuery('#login_tab').hide();
    jQuery('#lostpass_tab').hide();
    jQuery('#register_tab').show();
});
});

让我知道这是否对您有帮助!