根据输入设置jQuery datepicker minDate

时间:2013-03-27 10:04:33

标签: javascript jquery datepicker

我正在尝试根据单选按钮的值创建一个jQuery datepicker set minDate

当我尝试编写一个返回字符串的函数时,我的JavaScript一直在崩溃。关于为什么这不起作用的任何想法?

$("#datepicker").datepicker({
    changeMonth: true,
    changeYear: true,
    yearRange: "-35:+0",
    dateFormat: "yy-mm-dd",
    minDate: function() {
        var str = "-35Y";
        if($("#inputfield").val() == "value") {
            str = "-33Y";
        }
        return str;
    }
});

3 个答案:

答案 0 :(得分:3)

jsFiddle

这很好....你需要确保inputfield value

 <input type='text' id='datepicker'></div>
 <input type='text' value='value' id='inputfield'>

$("#datepicker").datepicker({
    changeMonth: true,
    changeYear: true,
    yearRange: "-35:+0",
    dateFormat: "yy-mm-dd",
    minDate:mdate()
});


function mdate(){
        var str = "-35Y";
        if($("#inputfield").val() == "value"){
            str = "-33Y";
        }
        return str;
}
  • 编辑:*

    $('#inputfield').on('change',function(){ $('#datepicker').datepicker('option', 'minDate', mdate()); });

答案 1 :(得分:1)

选项minDate需要,而不是功能。每当选择单选按钮发生变化时,日期选择器都不会自动更新minDate的值。

如果您希望每当单选按钮选择更改时更改日期选择器的最小日期,则必须对此进行明确编程。以下内容:

$('[name=myradiogroup]').change(function () {
    var newMininumDate = /*insert logic here*/;
    $('#datepicker').datepicker('option', 'minDate', newMininumDate);
});

请参阅http://api.jqueryui.com/datepicker/#method-option

答案 2 :(得分:0)

这对我有用:

$("#datepicker").datepicker({
    changeMonth: true,
    changeYear: true,
    yearRange: "-35:+0",
    dateFormat: "yy-mm-dd",
    minDate: $("#inputfield").val()
});