2012-11-12 45 views
6

早安, 我想控制我的日期選擇器的動態的的maxDate。例如。 :我的表單上有一個價值20/12/12的文本框的日期。jQuery UI的日期選擇器的maxDate動態

我試過,但沒有工作,日曆從我在我的文本框了日期禁用的maxDate。能否請你幫我這個:

$(function() { 
    var date = new Date(); 
    var m = date.getMonth(), d = date.getDate(), y = date.getFullYear(); 
    $("#Panel2nrFecha").datepicker({ 
     minDate: new Date(y, m, d), 
     maxDate: $("#Panel2nrTextBox1").val(), 
     dateFormat: "dd/mm/y", 
     defaultDate: "+1w", 
     changeMonth: true, 
     numberOfMonths: 3 
    }); 
}); 
+0

$(函數(){ VAR日期=新日期(); VAR米= date.getMonth(),d = date.getDate(),Y = date.getFullYear() ;datericker({ minDate:new Date(y,m,d)) maxDate:$(「#Panel2nrTextBox1」).val(), dateFormat:「dd/mm/y」 , defaultDate:「+ 1w」, changeMonth:true, numberOfMonths:3 }); }); – tonydeleon

回答

12

你已經初始化您的日期選擇器後,您可以更改maxDate選項是這樣的:

$("#Panel2nrFecha").datepicker('option', 'maxDate', $("#Panel2nrTextBox1").val()); 
+0

完美和輕鬆。 –

1

沒有張貼一些HTML,我不知道這樣做是否解決您的問題,但你試試這個:我已經刪除了

$(function() { 
    var date = new Date(); 
    $("#Panel2nrFecha").datepicker({ 
     minDate: date, 
     maxDate: new Date($("#Panel2nrTextBox1").val()), 
     dateFormat: "dd/mm/y", 
     defaultDate: "+1w", 
     changeMonth: true, 
     numberOfMonths: 3 
    }); 
}); 

公告ymd變量,並在日期選擇器的maxDate屬性添加new Date()

4

使用日期選擇器的beforeShow屬性設置最小和最大的日期,由Marc Grabanski和基思·伍德從本教程jQuery UI Datepicker v3.4.3 Examples - Date range概述:

$("#Panel2nrFecha").datetimepicker({ 
    beforeShow: customRange, 
    dateFormat: "dd/mm/y", 
    defaultDate: "+1w", 
    changeMonth: true, 
    numberOfMonths: 3 
}); 

function customRange(input) { 
    return { minDate: (input.id == 'Panel2nrMinDateTextBox' ? $('#Panel2nrMinDateTextBox').datepicker('getDate') : null), 
     maxDate: (input.id == 'Panel2nrMaxDateTextBox' ? $('#Panel2nrMaxDateTextBox').datepicker('getDate') : null) 
    }; 
}