2

minDateラジオボタンの値に応じてjQueryの日付ピッカーを設定しようとしています。

文字列を返す関数を書き込もうとすると、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;
    }
});
4

3 に答える 3

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()); });

于 2013-03-27T10:16:57.207 に答える
2

このオプションは、関数ではなくminDateを期待します。ラジオボタンの選択が変更されるたびに、日付ピッカーがの値を自動的に更新することはありません。minDate

ラジオボタンの選択が変更されるたびに日付ピッカーの最小日付を変更する場合は、これを明示的にプログラムする必要があります。次の線に沿った何か:

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

http://api.jqueryui.com/datepicker/#method-optionを参照してください

于 2013-03-27T10:49:42.630 に答える
1

これは私のために働きます:

$("#datepicker").datepicker({
    changeMonth: true,
    changeYear: true,
    yearRange: "-35:+0",
    dateFormat: "yy-mm-dd",
    minDate: $("#inputfield").val()
});
于 2016-11-03T05:50:45.407 に答える