2016-12-06 106 views
0

我绝对会这样做,但必须有一种方法来简化这个过程。我有一个模式,其中包含4个窗体,除了有一个“活动”类外。我需要根据不同按钮的点击事件来触发每个单独的表单。注册/忘记密码/登录等等,所以当我点击注册按钮时,注册表单出现,注册表单处于活动状态,单击忘记的密码只是切换表单以显示忘记的密码。等等。在不同的按钮上点击不同的按钮可以显示不同的形式

我的想法是创建:

function modalSwitch() { 

    var btnModal = [$('btn-one'),$('btn-two'),$('btn-three'), $('btn-four')]; 
    var formModal = [$('form-one'),$('form-two'),$('form-three'), $('btn-four')]; 

    btnModal.click(function(){ 
    if (btnModal[].attr('class') === formModal[].attr('data-id')) { 
     formModal.addClass('active'); 
    } 
    }); 
} 

modalSwitch(); 

,而不是对click事件:

function modalSwitch() { 

    var btnOne = $('.btn-one'); 
    var btnTwo = $('.btn-two'); 
    var btnThree = $('.btn-three'); 
    var btnFour = $('.btn-four'); 
    var btnFive = $('.btn-five'); 
    var btnSix = $('.btn-six'); 

    var modalOne = $('.modal-one'); 
    var modalTwo = $('.modal-two'); 
    var modalThree = $('.modal-three'); 
    var modalFour = $('.modal-four'); 
    var modalFive = $('.modal-five'); 
    var modalSix = $('.modal-six'); 

    btnOne.click(function(){ 
    modalOne.addClass('show'); 
    modalTwo.removeClass('show'); 
    modalThree.removeClass('show'); 
    modalFour.removeClass('show'); 
    modalFive.removeClass('show'); 
    modalSix.removeClass('show'); 
    .... 
    }); 

    } 

    modalSwitch(); 

但我这样就失去了现在,任何帮助将不胜感激

+0

'btnModal'和'formModal'应jQuery的变量;他们目前是普通数组。例如,您可以使用'$('。btn-one,.btn-two,.btn-three,.btn-four')来选择多个按钮。 – gyre

+0

不知道你想说什么,这是没有解决方案... –

回答

0

您可以使用data-src属性来实现此目的,例如:

<a href="#" class="btn btn-normal open-logs" data-src="my_details" data-heading="My Heading"> 
         Demo 
        </a> 

<div id="my_details" class="hide"> 
your form here 
</div> 

默认情况下创建一个css类来隐藏div。

事情是这样的,打开模式对话框:下面

$(document).ready(function() {  
    $(".open-logs").click(function(e){ 
     e.preventDefault(); 
     var logId = $(this).data('src'); 
     var html = $("#"+logId).html(); 
     $("#myModalLabel").html($(this).data('heading')); 
     $("#modalBody").html(html); 
     $("#logModal").modal('show'); 
    });  
}); 
0

代码将解决你所有的查询。代码片段中有一组额外的css和js,它们将为您生成引导模型。您不需要为所有模型编写常规和相同的代码块。

function simpleSHow(title) 
 
\t \t \t { 
 
\t \t \t \t var msg=$('#simple-div'); 
 
\t \t \t \t 
 
\t \t \t \t BootstrapDialog.show({ 
 
\t \t \t \t \t title : title, 
 
\t \t \t \t \t message: $('#simple-div'), 
 
\t \t \t \t \t onhide : function(){ 
 
\t \t \t \t \t \t $('#hidden-div').append(msg); 
 
\t \t \t \t \t } 
 
\t \t \t \t }); 
 
\t \t \t } 
 
\t \t \t 
 
\t \t \t function complexSHow(title) 
 
\t \t \t { 
 
\t \t \t \t var msg=$('#complex-div'); 
 
\t \t \t \t 
 
\t \t \t \t BootstrapDialog.show({ 
 
\t \t \t \t \t title : title, 
 
\t \t \t \t \t message: $('#complex-div'), 
 
\t \t \t \t \t onhide : function(){ 
 
\t \t \t \t \t \t $('#hidden-div').append(msg); 
 
\t \t \t \t \t } 
 
\t \t \t \t }); 
 
\t \t \t } 
 
\t \t \t 
 
\t \t \t function showDiv1(div_id) 
 
\t \t \t { 
 
\t \t \t \t var msg=$('#lavel-2_div-1'); 
 
\t \t \t \t BootstrapDialog.show({ 
 
\t \t \t \t \t title : 'Level 2 Title', 
 
\t \t \t \t \t message: $('#lavel-2_div-1'), 
 
\t \t \t \t \t onhide : function(){ 
 
\t \t \t \t \t \t $('#hidden-div').append(msg); 
 
\t \t \t \t \t } 
 
\t \t \t \t }); 
 
\t \t \t } 
 
\t \t \t 
 
\t \t \t function showDiv2(div_id) 
 
\t \t \t { 
 
\t \t \t \t var msg=$('#lavel-2_div-2'); 
 
\t \t \t \t BootstrapDialog.show({ 
 
\t \t \t \t \t title : 'Level 2 Title', 
 
\t \t \t \t \t message: $('#lavel-2_div-2'), 
 
\t \t \t \t \t onhide : function(){ 
 
\t \t \t \t \t \t $('#hidden-div').append(msg); 
 
\t \t \t \t \t } 
 
\t \t \t \t }); 
 
\t \t \t } 
 
\t \t \t 
 
\t \t \t function showDiv3(div_id) 
 
\t \t \t { 
 
\t \t \t \t var msg=$('#lavel-2_div-3'); 
 
\t \t \t \t BootstrapDialog.show({ 
 
\t \t \t \t \t title : 'Level 2 Title', 
 
\t \t \t \t \t message: $('#lavel-2_div-3'), 
 
\t \t \t \t \t onhide : function(){ 
 
\t \t \t \t \t \t $('#hidden-div').append(msg); 
 
\t \t \t \t \t } 
 
\t \t \t \t }); 
 
\t \t \t } 
 
\t \t \t 
 
\t \t \t function showDiv4(div_id) 
 
\t \t \t { 
 
\t \t \t \t var msg=$('#lavel-2_div-4'); 
 
\t \t \t \t BootstrapDialog.show({ 
 
\t \t \t \t \t title : 'Level 2 Title', 
 
\t \t \t \t \t message: $('#lavel-2_div-4'), 
 
\t \t \t \t \t onhide : function(){ 
 
\t \t \t \t \t \t $('#hidden-div').append(msg); 
 
\t \t \t \t \t } 
 
\t \t \t \t }); 
 
\t \t \t }
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"> 
 
<link href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap3-dialog/1.35.3/css/bootstrap-dialog.min.css" rel="stylesheet"> 
 

 

 
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script> 
 
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap3-dialog/1.35.3/js/bootstrap-dialog.min.js"></script> 
 

 

 

 
<!-- This is a container Div which contains all the div to show when bootstrap dialog opens --> 
 
<div style="display : none" id="hidden-div"> 
 
    <div id="simple-div"> 
 
    <h1>This is H1 Heading</h1> 
 
    This is most simple coding 
 
    <br> 
 
    <button type="button" class="btn btn-primary" onclick="showDiv1()">Lavel-2 div-1</button> 
 
    <button type="button" class="btn btn-primary" onclick="showDiv2()">Lavel-2 div-2</button> 
 
    </div> 
 

 
    <div id="lavel-2_div-1"> 
 
    <h3>This is Level 2 Header</h3> 
 
    <span style="color : blue;">This is Level 2 Message 1</span> 
 
    </div> 
 

 
    <div id="lavel-2_div-2"> 
 
    <h3>This is Level 2 Header</h3> 
 
    <span style="color : greenyellow;">This is Level 2 Message 2</span> 
 
    </div> 
 

 
    <div id="lavel-2_div-3"> 
 
    <h3>This is Level 2 Header</h3> 
 
    <span style="color : pink;">This is Level 2 Message 3</span> 
 
    </div> 
 
    <div id="lavel-2_div-4"> 
 
    <h3>This is Level 2 Header</h3> 
 
    <span style="color : green;">This is Level 2 Message 4</span> 
 
    </div> 
 

 
    <div class="container-fluid" id="complex-div"> 
 

 
    <button type="button" class="btn btn-primary" onclick="showDiv3()">Lavel-2 div-3</button> 
 
    <button type="button" class="btn btn-primary" onclick="showDiv4()">Lavel-2 div-4</button> 
 
    <h2>Panels with Contextual Classes</h2> 
 
    <div class="panel-group"> 
 
     <div class="panel panel-default"> 
 
     <div class="panel-heading">Panel with panel-default class</div> 
 
     <div class="panel-body">Panel Content</div> 
 
     </div> 
 

 
     <div class="panel panel-primary"> 
 
     <div class="panel-heading">Panel with panel-primary class</div> 
 
     <div class="panel-body">Panel Content</div> 
 
     </div> 
 

 
     <div class="panel panel-success"> 
 
     <div class="panel-heading">Panel with panel-success class</div> 
 
     <div class="panel-body">Panel Content</div> 
 
     </div> 
 

 
     <div class="panel panel-info"> 
 
     <div class="panel-heading">Panel with panel-info class</div> 
 
     <div class="panel-body">Panel Content</div> 
 
     </div> 
 

 
     <div class="panel panel-warning"> 
 
     <div class="panel-heading">Panel with panel-warning class</div> 
 
     <div class="panel-body">Panel Content</div> 
 
     </div> 
 

 
     <div class="panel panel-danger"> 
 
     <div class="panel-heading">Panel with panel-danger class</div> 
 
     <div class="panel-body">Panel Content</div> 
 
     </div> 
 
    </div> 
 
    </div> 
 

 
</div> 
 

 
&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp; 
 
<button type="button" class="btn btn-primary" onclick="simpleSHow('Hello 1234')">Simple Div Show</button> 
 
&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp; 
 
<button type="button" class="btn btn-primary" onclick="complexSHow('Complex 1234')">Complex Div Show</button>

相关问题