2015-06-24 13 views
10

Kapatma/gizle/kapatıldığında önyükleme modunu nasıl temizlersiniz?Net önyükleme modalında gizlenme

Aşağıdaki Modal tanımı var:

<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#myModal"> 
    Add New Comment 
</button> 

Kısmi görünümü

@Html.Partial("_CreateComment", Model) 


// Partial view which contains modal 

<div class="modal fade" id="myModal" tabindex="-1" role="dialog"> 
    <div class="modal-dialog" role="document"> 
     <div class="modal-content"> 
     @using (Ajax.BeginForm("AddComment", "Blog", new AjaxOptions 
      { 
       HttpMethod = "POST", 
       InsertionMode = InsertionMode.Replace, 
       UpdateTargetId = "comments", 
       OnSuccess = "$('#myModal').modal('hide');" 

      })) 
     { 
     <div class="modal-header"> 
       <button type="button" class="close" data-dismiss="modal" aria-label="Close"> 
        <span aria-hidden="true">&times;</span> 
       </button> 
       <h4 class="modal-title" id="myModalLabel">Add Comment</h4> 
     </div> 
     <div class="modal-body"> 
       @Html.ValidationSummary(true) 
       @Html.HiddenFor(model => model.Blog.BlogID) 

       <div class="form-group"> 
        @Html.LabelFor(model => model.BlogComment.Comment) 
        @Html.TextAreaFor(model => model.BlogComment.Comment, 4, 104, new { @class = "form-control" }) 
        @Html.ValidationMessageFor(model => model.BlogComment.Comment) 
       </div> 

     </div> 
     <div class="modal-footer"> 
      <button type="button" class="btn btn-primary">Save changes</button> 
      <button type="button" class="btn btn-primary" data-dismiss="modal">Close</button> 
     </div> 
     } 
    </div> 
    </div> 
</div> 

Modal içerir Ve bu içeriği temizlemek için kullanıyorum javascript:

$(function() { 
    //clear modal cache, so that new content can be loaded 
    $('body').on('hidden.bs.modal', '.modal', function() { 
     $(this).removeData('bs.modal'); 

    }); 
}); 

Modal sahip olduktan sonra reddeder bazı içeriğe girdikten sonra veya formdaki içerikler açıklanmadı mı?

cevap

15

kullanın:

$('#myModal').on('hidden.bs.modal', function() { 
    $(this).find("input,textarea,select").val('').end(); 

}); 
+1

Benim için çözüldü. Teşekkürler – DavidHyogo

+2

Ayrıca 'select''i temizlemek isterseniz' .val ([]) 'kullanmanızı öneririm. Ayrıca, '.end()' bu durumda gerekli değildir, zincirleme sırasında durumu sıfırlamak özellikle yararlıdır. – Fr0zenFyr

+0

giriş tipi nasıl temizlenir = "checkbox"? 'Input type = "checkbox" '&' input # id 'yazarak denedim ama bu işe yaramıyor. –

8

mevcut giriş türlerine göre kullanın val('') ve bu en kolay düzeltmedir #myModal yerine body ait

$('#myModal').on('hidden.bs.modal', function() { 
     $('.modal-body').find('textarea,input').val(''); 
}); 

DEMO

+1

O çalışmıyor? Metin alanına içerik ekledim ve kapat'ı tıklayıp sonra metin alanındaki modal ve içeriği yeniden açmaya devam ediyorum? – adam78

+0

@ozzii .. Güncellenmiş cevabı deneyin !! –

+0

Girdi alanları dahil olmak üzere tüm vücudu kaldıran? Hala giriş alanlarına ihtiyacım var, sadece giriş alanlarındaki içerik silinecek. – adam78