2015-06-24 11 views
10

पर बूटस्ट्रैप मोडल कितना स्पष्ट है आप कैसे खारिज/छुपा/बंद पर बूटस्ट्रैप मोडल को साफ़ कर सकते हैं?छुपाएं

मैं निम्नलिखित मॉडल परिभाषा है:

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

आंशिक दृश्य जो मोडल

@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> 

शामिल और यह जावास्क्रिप्ट मैं करने के लिए उपयोग कर रहा हूँ सामग्री स्पष्ट करने के लिए है:

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

    }); 
}); 

यदि मैं होने के बाद मोडल को खारिज कर देता हूं कुछ सामग्री दर्ज की गई है या फॉर्म में सामग्री जमा करने पर स्पष्ट नहीं है?

उत्तर

15

इस सबसे आसान ठीक है:

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

}); 
+1

मेरे लिए इसे हल किया। धन्यवाद – DavidHyogo

+2

यदि आप 'select' को साफ़ करना चाहते हैं तो मैं' .val ([]) 'का उपयोग करने की सलाह देता हूं। इसके अलावा, इस मामले में '.end()' की आवश्यकता नहीं है, जब चेनिंग करते समय राज्य को रीसेट करना विशेष रूप से उपयोगी होता है। – Fr0zenFyr

+0

इनपुट प्रकार = "चेकबॉक्स" को कैसे साफ़ करें? मैंने 'इनपुट प्रकार =" चेकबॉक्स "और 'इनपुट # आईडी' डालने का प्रयास किया है लेकिन यह काम नहीं करता है। –

8

उपयोग val('') इनपुट प्रकार के आधार पर वर्तमान और का उपयोग #myModalbody के बजाय

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

DEMO

+1

यह काम नहीं करता है? मैं टेक्स्ट फ़ील्ड में सामग्री जोड़ता हूं और बंद करें पर क्लिक करता हूं फिर टेक्स्ट फ़ील्ड में मोडल और सामग्री को फिर से खोलता हूं? – adam78

+0

@ozzii .. अद्यतन उत्तर आज़माएं !! –

+0

जो पूरे शरीर को इनपुट फ़ील्ड समेत हटा देता है? मुझे अभी भी इनपुट फ़ील्ड्स की आवश्यकता है, केवल इनपुट फ़ील्ड के अंदर की सामग्री को साफ़ किया जाना चाहिए। – adam78

संबंधित मुद्दे