data-dismiss =“modal”关闭MVC局部视图中同一页面上的所有打开模态对话框

时间:2016-02-29 10:29:19

标签: javascript c# jquery twitter-bootstrap

我正在研究两种不同的部分观点,它们是一起工作的。

当在一个页面上使用多个模态同时打开时,使用data-dismiss =“modal”将最顶层的内容解除,将隐藏所有活动模态,

在我的情况下,我在模态对话框中使用了一个组件,而该组件又使用了模态对话框。

你可以在图像中找到3个不同的视图,

  1. 背景中的黑色,

  2. 编辑(部分视图),

  3. 警告讯息(部分视图)。

  4. 多个模型同时打开但需要关闭预期,这是最顶层/当前不是所有模型。

    enter image description here

      

    HTML

     Animation animation = null;
            animation = new TranslateAnimation(metrics_.widthPixels / 2, 0, 0, 0);
            //animation = AnimationUtils.loadAnimation(activity, R.anim.your_animation);
            animation.setDuration(400);
            convertView.startAnimation(animation);
            animation = null;
    

4 个答案:

答案 0 :(得分:6)

从按钮中移除data-dismiss="modal"并使用Jquery,您可以关闭特定的modal。创建一个函数并在函数内部使用以下代码并在关闭按钮上调用该函数单击

$('#modalid').modal('hide');

答案 1 :(得分:5)

对我有用。仅关闭该模式。没有额外的功能。


<button type="button" class="close" onclick="$('#my_modal').modal('hide');" aria-label="Close">

答案 2 :(得分:0)

Instead of data-dismiss make a custom method and set its display as none. This worked for me.   
 <div id="myModal" class="modal fade" role="dialog">
        <div class="modal-dialog modal-md">
          <div class="modal-content" >
            <div class="modal-header">  
              <button type="button" class="close"  (click)="closeModal()">&times; 
              </button>
           </div>
         </div>
       </div>
    </div>


    closeModal() {            
       document.getElementById("myModal").style.display = "none";
    }

答案 3 :(得分:-1)

这两行将一起工作

$('#you_model_id').hide();
$( ".modal-backdrop" ).first().css( "display", "none" ); 

由于每个模型都会添加一个阴影层;因此,在手动关闭模型的同时;您需要删除其阴影层;除了藏起来 您可以在HTML页面的末尾查看阴影层div;类别=模态背景