2010-12-07 23 views
13

विफल रहता है मैं jquery-ui डेटपिकर का उपयोग कर दिनांक सीमा चयन करना चाहता हूं। #dteStart पर पहला परिवर्तन #dteEnd पर minDate सेट करने में सफल रहा। लेकिन #dteEnd अगले परिवर्तन पर अपने विकल्पों को रीफ्रेश करने में विफल रहा, अगर मैं DateOptions.minDate को इसकी मान दिनांक के अनुसार बदल गया।JQuery UI DatePicker में गतिशील रूप से बदलें विकल्प

हो सकता है कि मैं यहाँ कुछ याद आती है ...

$(document).ready(function() 
{ 
    $("#dteStart").datepicker() 
    .change(function() 
    { 
     dateStart = $(this).datepicker('getDate'); 
     dateMin = new Date(dateStart.getTime()); 
     dateMin.setDate(dateMin.getDate() + 1); 

     var DateOptions = { 
      dateformat: "mm/dd/yyyy", 
      minDate: dateMin 
     } 
     $("#dteEnd").datepicker(DateOptions); 
    }); 
}); 

TIA,

REV

उत्तर

22

$("#dteEnd").datepicker(DateOptions); से पहले $("#dteEnd").datepicker("destroy"); रख दिया और यह ठीक काम करेंगे।

+0

हा .., बिल्कुल वही है जो मुझे चाहिए .. धन्यवाद आदमी .. – v14nt0

+0

मेरी इच्छा है कि मैं इस जवाब में +2 दे सकता हूं! – Siddhant

15

तुम सिर्फ पहले से ही कॉन्फ़िगर विकल्प बदलना चाहते हैं, तो आप भी कर सकते हैं:

$("#dteEnd").datepicker("option", DateOptions); 

या

$("#dteEnd").datepicker("option", { dateFormat: "mm/dd/yyyy" }); 
+0

कृपया अपना कोड फ़ोरमेट करें। – Manuel

+2

उदाहरण के लिए: $ (".publishdatepicker") .डेटपिकर ("विकल्प", {yearRange: "-90: +1"}); – Pons

+0

आपकी दूसरी पंक्ति, मेरे साथ काम नहीं करती है, केवल दिनांक दिनांक दिनांक है जब फॉरमेट (पूंजीकृत एफ के साथ) jQueryUI 1.10.2 –

1

निम्नलिखित jQuery सहायक समारोह ऐसे मामलों मूल को संरक्षित करने में उपयोगी हो सकता विकल्प:

$.fn.customizeDatepicker = function(newOptions) { 
    var prevOptions = $(this).datepicker('option', 'all'); 
    $(this).datepicker('destroy').datepicker($.extend(prevOptions, newOptions)); 
    return this; 
}; 

यह पिछले विकल्पों को बचाता है और उन्हें नए विकल्पों के साथ बढ़ाता है।

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