Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/429.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
Javascript 根据选择,日期应显示从和到之间的某些特定差异_Javascript_Php - Fatal编程技术网

Javascript 根据选择,日期应显示从和到之间的某些特定差异

Javascript 根据选择,日期应显示从和到之间的某些特定差异,javascript,php,Javascript,Php,我有下拉按钮。根据选择,起始日期和截止日期之间应存在差异。如果我选择第一个选项,差异应为10天,如2017年11月16日至2017年11月26日,如果我选择第二个选项,差异应为30天。我试着这样做: <select class="form-control" name="slct" id="slct" required style="font- family : Verdana; font-size: 20px; height: 40px;" onchange="getResult()"&g

我有下拉按钮。根据选择,起始日期和截止日期之间应存在差异。如果我选择第一个选项,差异应为10天,如2017年11月16日至2017年11月26日,如果我选择第二个选项,差异应为30天。我试着这样做:

<select class="form-control" name="slct" id="slct" required style="font-
family : Verdana; font-size: 20px; height: 40px;" onchange="getResult()">                                                                                           
                                <option value="">Select</option>
                                <option value="10">select 1</option>
                                <option value="30">select 2</option>
                                <option value="60">select 3</option>
                            </select>   
    <table style="margin-top:10px;">
                    <tr>
                    <div class="form-group"> 
                    <td><label for="from" style="margin-left:30px">From:
    </label>
                    <?php echo  "<input type='date' class='form-control' 
   name='dte' id='dat' value='" . date('Y-m-d') . "' required />" ?>&emsp;
   </td>
                    <td><label for="from">To:</label>
                    <input type="date" name="to" id="todate" value="" 
   required />&emsp;</td>
                    </div>
                    </tr></table>
   <script>
                    function getResult() {
                    var dateval = $("#frmdate").val();
                    var offset = $("#slct").value();
                    if (dateval != "" && offset != "") {
                    var dat = $("#frmdate").datepicker("getDate");
                    dat.setDate(dat.getDate() + parseInt(offset));
                    $("#todate").text($.datepicker.formatDate("yy-mm-dd", 
                       dat));
                    }
                    }
     </script>

挑选
选择1
选择2
选择3
发件人:

您可以通过获取“from”日期值并使用一些JavaScript函数来添加日期并对其进行格式化来实现这一点

首先检查select值,然后相应地将天数添加到“todate”中。下面是实现这一点的JavaScript:

function getResult() {
    var startDate = document.getElementById('dat').value;  //Get from date 
    if(document.getElementById('slct').value == "10"){
        var endDate = document.getElementById('todate').value = formatDate(addDays(startDate, 10));
    }
    else if(document.getElementById('slct').value == "30"){
        var endDate = document.getElementById('todate').value = formatDate(addDays(startDate, 30));
    }
    else if(document.getElementById('slct').value == "60"){ 
        var endDate = document.getElementById('todate').value = formatDate(addDays(startDate, 60));
    }
}

//Function to add days https://stackoverflow.com/a/19691491/5612132
function addDays(date, days) {
     var result = new Date(date);
     result.setDate(result.getDate() + days);
     return result;
}

//Format date https://stackoverflow.com/questions/23593052/format-javascript-date-to-yyyy-mm-dd
function formatDate(date) {
    var d = new Date(date),
        month = '' + (d.getMonth() + 1),
        day = '' + d.getDate(),
        year = d.getFullYear();

    if (month.length < 2) month = '0' + month;
    if (day.length < 2) day = '0' + day;

    return [year, month, day].join('-');
}
函数getResult(){
var startDate=document.getElementById('dat').value;//从日期获取
if(document.getElementById('slct')。值==“10”){
var endDate=document.getElementById('todate')。value=formatDate(addDates(startDate,10));
}
else if(document.getElementById('slct')。值==“30”){
var endDate=document.getElementById('todate')。value=formatDate(addDates(startDate,30));
}
else if(document.getElementById('slct')。value==“60”){
var endDate=document.getElementById('todate')。value=formatDate(addDates(startDate,60));
}
}
//添加天数的函数https://stackoverflow.com/a/19691491/5612132
函数addDays(日期,天){
var结果=新日期(日期);
result.setDate(result.getDate()+天);
返回结果;
}
//格式日期https://stackoverflow.com/questions/23593052/format-javascript-date-to-yyyy-mm-dd
函数格式日期(日期){
var d=新日期(日期),
月份=“”+(d.getMonth()+1),
日期=“”+d.getDate(),
year=d.getFullYear();
如果(月长<2)月='0'+月;
如果(日长<2)天='0'+天;
返回[年、月、日]。加入('-');
}
我在这里找到了一些函数,用于添加日期和格式化日期