2010-05-29 19 views
54

बंद बटन का उपयोग किए बिना संवाद में jQuery संवाद को बंद करने के लिए कैसे?संवाद के भीतर jQuery संवाद बंद करने के लिए कैसे?

यूई संवाद के अंदर एक साधारण रूप से अनुरोध है और यदि सफल सबमिशन होता है, तो ui संवाद स्वचालित रूप से मूल पृष्ठ को बंद कर देता है और रीफ्रेश करता है।

<script type="text/javascript"> 
     $(document).ready(function() { 
      $("#form-dialog").dialog({ 
       autoOpen: true, 
       modal: true, 
       width: 200, 
       draggable: true, 
       resizable: true 
      }); 
     }); 
    </script> 


    <div id="form-dialog" title="Form Submit"> 
    <form action="default.aspx" method="post"> 
    <input type="text" name="name" value=" " />  
    <input type="submit" value="submit" /> 

    <a href="#" id="btnDone">CLOSE</a> 

    <script type="text/javascript"> 
    $(document).ready(function() { 
     $("#btnDone").click(function() { 
      $(this).dialog('close'); 
     }); 
    }); 
    </script> 

    </form> 
    </div> 

-imperialx

उत्तर

51

आप इसे प्रोग्राम के रूप में

$('#form-dialog').dialog('close') 

बुला जब चाहें तब से बंद कर सकते हैं।

+0

लेकिन फॉर्म टैग ui संवाद के अंदर है। UI संवाद के अंदर कोई jquery फ़ाइलें नहीं, बस एक सादा रूप टैग सबमिशन। मैं # फॉर्म-डायलॉग के अंदर $ ('# form-dialog') का उपयोग कैसे कर सकता हूं। यूई संवाद के अंदर कुछ क्लिक करने या प्रतीक्षा टाइमर होने पर यह बंद होने जैसा है। – imperialx

+0

यदि आप संवाद खोलने के लिए jquery का उपयोग कर रहे हैं, तो आप इसे बंद करने के लिए jquery का उपयोग कर सकते हैं। लाइन के ठीक नीचे जहां आप संवाद घोषित करते हैं, '$ (' # mySubmitButton ') सेट करें। लाइव (' क्लिक करें ', फ़ंक्शन() {mySubmitFunction(); $ (' # form-dialog ')। बंद करें();}); ' – Jason

+0

हां, लेकिन जब मैं संवाद के अंदर हूं तो कैसे? मुझे लगता है कि इसके बराबर $ (विंडो) .unload() जैसे कुछ है जहां पॉप-अप फॉर्म स्वचालित रूप से jquery-UI-dialog बंद बटन पर क्लिक करने के बजाय स्वयं को बंद कर देता है। – imperialx

14

आप

$('selector').dialog('close'); 
+0

हाय रेडस्क्वेयर, मैंने उपरोक्त मेरे कोड पर कुछ पंक्तियां जोड़ दी हैं, क्या मुझे पता है कि यह संवाद बंद क्यों नहीं करेगा? जैसा कि आप देख सकते हैं, बंद बटन यूई-संवाद के अंदर है। धन्यवाद। – imperialx

+0

क्योंकि आपके मामले में यह बटन को संदर्भित करता है कि संवाद – redsquare

+0

$ (यह) $ ("# फॉर्म-डायलॉग") – redsquare

0

     $(document).ready(function() { 
      $("#form-dialog").dialog({ 
       autoOpen: true, 
       modal: true, 
       width: 200, 
       draggable: true, 
       resizable: true, 
       buttons: { 
        "Close": function() { 
         $("#idDialog").dialog("close"); 
        } 
       } 
      }); 
     }); 

जरूरत है यह आपको एक बटन बंद करने के लिए कर देगा। आप भी समारोह पास

$("#idDialog").dialog("close"); 

कुछ समारोह में यह करने के लिए कह सकते हैं। या यहां तक ​​कि एक बटन में/एक

< a href="javascript:void(0);" id="btnDone" 
           onClick="$("#idDialog").dialog("close");">CLOSE</a> 

संपादित करें: आप इस की जरूरत के रूप में अपने संवाद शामिल करने के लिए:

open: function (type, data) { 
      $(this).parent().appendTo($("form:first")); 
     } 
59

यह

$(this).closest('.ui-dialog-content').dialog('close'); 

प्रयास करें यह संवाद बंद हो जाएगा इसके अंदर।

+1

उत्कृष्ट में बदलें। वही मैं क्या चाहता था! – Somedeveloper

2

को

$("#form-dialog").dialog('close'); 

$ (इस) यहाँ किसी अन्य वस्तु $ ("# btnDone")

<script type="text/javascript"> 
    $(document).ready(function() { 
     $("#form-dialog").dialog({ 
      autoOpen: true, 
      modal: true, 
      width: 200, 
      draggable: true, 
      resizable: true 
     }); 
    }); 
</script> 


<div id="form-dialog" title="Form Submit"> 
<form action="default.aspx" method="post"> 
<input type="text" name="name" value=" " />  
<input type="submit" value="submit" /> 

<a href="#" id="btnDone">CLOSE</a> 

<script type="text/javascript"> 
$(document).ready(function() { 
    $("#btnDone").click(function() { 
//I've replaced next string 
// $(this) here means another object $("#btnDone") 
    $("#form-dialog").dialog('close'); 
    }); 
}); 
</script> 

</form> 
</div> 
6
$(this).parents(".ui-dialog-content").dialog('close') 

सरल अर्थ है एक स्ट्रिंग की जगह, मुझे यकीन है कि मैं डॉन 'बनाने के लिए करना टी:

  1. हार्डकोड संवाद # आईडी मान।
  2. सभी संवाद बंद करें।
0

खुला

$(this).parent().appendTo($("form:first")); 

काम करता है पूरी तरह से में इस लिंक जोड़ना।

6

एक संवाद के अंदर iframe से बंद:

window.parent.$('.ui-dialog-content:visible').dialog('close'); 
3

भाग्य के बिना ऊपर इन उत्तरों के सभी की जाँच के बाद, folling कोड मेरे लिए काम किया समस्या का समाधान करने के लिए:

$(".ui-dialog").dialog("close"); 

हो सकता है कि यह हो जाएगा यदि आप विकल्पों की तलाश करते हैं तो भी एक अच्छा प्रयास करें।

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