2009-11-25 12 views
6

मेरे पास 2 JQuery UI डेटपिकर इनपुट के साथ एक JQuery मोडल संवाद है। मेरी समस्या यह है कि जब संवाद खुलता है तो कैलेंडर पृष्ठ पर पहले ही खुला रहता है। मुझे यकीन नहीं है कि ऐसा इसलिए है क्योंकि यह ध्यान केंद्रित कर रहा है लेकिन शुद्ध परिणाम यह है कि यह संवाद पर खुला रहता है। यहाँ मेरी कोड है:डेटपिकर डायलॉग पर कैलेंडर दिखाता है

<script type="text/javascript"> 

     $(function() { 
      $('input').filter('.datepicker').datepicker({ 
       changeMonth: true, 
       changeYear: true 
      }); 
     }); 

</script> 

<div id="rpt_dialog" title=""> 
    <form id="rptDlgForm" action="/EquipTrack/ShowReport" method="post">   
    <center> 
    <div id="rpt_dlg_results"></div> 
    </center> 
    <div style="float:left; padding-left:50px">From:</div> 
    <input class="datepicker" id="dtReportFrom" name="dtReportFrom" type="text" style="float:left"> 
    <div style="float:left; padding:0 5px 0 15px">To:</div> 
    <input class="datepicker" id="dtReportTo" name="dtReportTo" type="text" style="float:left"> 
    <br /> 
    <br /> 
    <p><input type="submit" value="Show report" id="btnSubmit" style="float:left;padding-right:10px"/> 
    <input type="button" onclick="CloseReportDialog()" value="Close" id="Button2" /></p> 
    <p></p> 
    <input type="hidden" id="hdnReportName" name="hdnReportName" value=""/> 
    </form>   
</div> 

उत्तर

13

मैं इस काम मिल गया लेकिन datepickers बस अपना संवाद खोलने और फिर उन्हें संवाद की खुली स्पर्धा में सक्षम करने से पहले अक्षम हो जाए। कोड है:

$('#dtReportFrom').datepicker('disable'); 
    $('#dtReportTo').datepicker('disable'); 


    jQuery('#rpt_dialog').dialog('open'); 


    $(function() { 
     $("#rpt_dialog").dialog({ 
      bgiframe: true, 
      width: 540, 
      modal: true, 
      autoOpen: false, 
      resizable: false, 
      open: function(event, ui) { 
       $(ui).find('#dtReportFrom').datepicker('enable'); 
       $(ui).find('#dtReportTo').datepicker('enable'); 
     }, 
      close: function(event,ui) { 
      }     
     }) 
    }); 
5

जब आप संवाद की शुरुआत में डेटपिकर फ़ील्ड डालते हैं तो यह स्वचालित रूप से खोला जाता है। आप संवाद की शुरुआत में एक छिपी हुई इनपुट डाल सकते हैं।

<input type="text" style="width: 0; height: 0; top: -100px; position: absolute;"/> 
+0

यह मेरे लिए समाधान था क्योंकि मेरे कैलेंडर एक .NET उपयोगकर्ता नियंत्रण में थे जो संवाद के अंदर शामिल था। तो स्वीकार्य समाधान करने का कोई आसान तरीका नहीं था। – FirstDivision