Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果用户没有在jquery中输入结束日期,如何将开始日期设置为默认结束日期?_Jquery_Jquery Ui_Jquery Ui Datepicker - Fatal编程技术网

如果用户没有在jquery中输入结束日期,如何将开始日期设置为默认结束日期?

如果用户没有在jquery中输入结束日期,如何将开始日期设置为默认结束日期?,jquery,jquery-ui,jquery-ui-datepicker,Jquery,Jquery Ui,Jquery Ui Datepicker,这应该行得通 var dates = $("#filterDateStart, #filterDateEnd").datepicker({ dateFormat: "yy-mm-dd", changeMonth: true, numberOfMonths: 1, onSelect: function (selectedDate) { var option = this.id == "filterDateSta

这应该行得通

var dates = $("#filterDateStart, #filterDateEnd").datepicker({
        dateFormat: "yy-mm-dd",
        changeMonth: true,
        numberOfMonths: 1,
        onSelect: function (selectedDate) {
            var option = this.id == "filterDateStart" ? "minDate" : "maxDate",

                    instance = $(this).data("datepicker"),
                    date = $.datepicker.parseDate(
                        instance.settings.dateFormat ||
                        $.datepicker._defaults.dateFormat,
                        selectedDate, instance.settings);
            dates.not(this).datepicker("option", option, date);
        }
    });
编辑

用于测试的HTML:

$("#filterDateStart").datepicker({
    onSelect: function () {
       var dateObj = $(this).datepicker( 'getDate' );
       $("#filterDateEnd").datepicker( "option", "defaultDate", dateObj);
    }
});
编辑2:

当您为开始日期选择任何内容时,单击一次,结束日期应自动变为与开始日期相同。如果将开始日期编辑为>结束日期,则结束日期应自动成为开始日期。如果您将开始日期编辑为<结束日期,并且低于您以前可能拥有的开始日期,则结束日期不应受到影响。请检查其他编辑。首先,您在开始时没有要求实现此功能,其次,您可以尝试一点但更努力地解决此问题,并自己编辑我以前的答案逻辑非常清楚!
<form id="testForm" action="#">
<p>Date: <input type="text" id="filterDateStart" /></p>
<p>Date: <input type="text" id="filterDateEnd" /></p>

<input type="submit" value="check end date default "/>
</form>
$(document).ready(function(){
    $("#filterDateStart").datepicker({
        dateFormat: "yy-mm-dd",
        changeMonth: true,
        numberOfMonths: 1,
        onSelect: function () {
           var startDate = $(this).datepicker( 'getDate');
           var endDate = $("#filterDateEnd").datepicker( 'getDate' );
           if($("#filterDateEnd").datepicker( 'getDate' ) == null || startDate > endDate)
           {
               $("#filterDateEnd").datepicker( "setDate", startDate );
           }
        }
    });
    $("#filterDateEnd").datepicker({
        dateFormat: "yy-mm-dd",
        changeMonth: true,
        numberOfMonths: 1
    });

    $("#testForm").submit(function(e){
        e.preventDefault(); 
        alert( $("#filterDateEnd").datepicker("getDate"));
    })
});