繁体   English   中英

如何使用Angular.js / Javascript计算日差

[英]How to calculate day difference using Angular.js/Javascript

我需要一个帮助。 我需要使用Angular.js / Javascript计算两天字段之间的差异。我在下面解释我的代码。

<select class="form-control" id="daysFrom" ng-model="daysFrom" ng-change="getSubcategoryValue('daysFrom');">
<option value="" label="Select Day" selected="selected">Select Day</option>
<option value="1" label="Monday">Monday</option>
<option value="2" label="Tuesday">Tuesday</option>
<option value="3" label="Wednesday">Wednesday</option>
<option value="4" label="Thursday">Thursday</option>
<option value="5" label="Friday">Friday</option>
<option value="6" label="Saturday">Saturday</option>
<option value="7" label="Sunday">Sunday</option>
</select>

我的第二天下拉列表如下。

<select class="form-control" id="daysTo" ng-model="daysFrom" ng-change="getSubcategoryValue('daysFrom');">
    <option value="" label="Select Day" selected="selected">Select Day</option>
    <option value="1" label="Monday">Monday</option>
    <option value="2" label="Tuesday">Tuesday</option>
    <option value="3" label="Wednesday">Wednesday</option>
    <option value="4" label="Thursday">Thursday</option>
    <option value="5" label="Friday">Friday</option>
    <option value="6" label="Saturday">Saturday</option>
    <option value="7" label="Sunday">Sunday</option>
    </select>

在这里我有两个下拉菜单,就像day from and day to 我需要用户选择两天的差额,包括那几天在内。 假设用户选择了第一个Monday and wednesday ,则应计算为相差3 请帮我。

var difference=abs(parseInt($scope.daysTo)-parseInt($scope.daysFrom))+1;

如果您调用第一个输入dayFrom和第二个输入dayTo然后:

function calculateDifference(dayFrom, dayTo) {
    return Math.abs(dayTo + dayFrom) + 1;
}

var difference = calculateDifference($scope.dayFrom, $scope.dayTo);

 $('#daysFrom, #daysTo').change(function(){ if ($('#daysTo').val() < $('#daysFrom').val()) { console.log("Wrong day choose"); return false; } console.log($('#daysTo').val() - $('#daysFrom').val()+1); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> From : <select class="form-control" id="daysFrom" ng-model="daysFrom" ng-change="getSubcategoryValue('daysFrom');"> <option value="" label="Select Day" selected="selected">Select Day</option> <option value="1" label="Monday">Monday</option> <option value="2" label="Tuesday">Tuesday</option> <option value="3" label="Wednesday">Wednesday</option> <option value="4" label="Thursday">Thursday</option> <option value="5" label="Friday">Friday</option> <option value="6" label="Saturday">Saturday</option> <option value="7" label="Sunday">Sunday</option> </select> To : <select class="form-control" id="daysTo" ng-model="daysFrom" ng-change="getSubcategoryValue('daysFrom');"> <option value="" label="Select Day" selected="selected">Select Day</option> <option value="1" label="Monday">Monday</option> <option value="2" label="Tuesday">Tuesday</option> <option value="3" label="Wednesday">Wednesday</option> <option value="4" label="Thursday">Thursday</option> <option value="5" label="Friday">Friday</option> <option value="6" label="Saturday">Saturday</option> <option value="7" label="Sunday">Sunday</option> </select> 

我没有看到任何角度,所以我展示了如何在纯js中进行管理:

 (function(){ //private scope //variables - DOM references var output=document.querySelector("#output"); var from=document.querySelector("#daysFrom"); var to=document.querySelector("#daysTo"); //error codes var ERROR_CHOOSE=-1; var ERROR_DIFF=-2; //calculates function calcDiff(){ if (to.value==="" || from.value==="") return ERROR_CHOOSE; if (to.value<from.value) return ERROR_DIFF; return to.value-from.value+1; }; //return human results function display(){ var result=calcDiff(); if (result>0){ //we know no error if (result==1) return result+=" day"; else return result+=" days"; } //here errors return result==ERROR_CHOOSE?"Choose both days":"Choose right days"; }; //usage example from.addEventListener("change",function(){ output.innerText=display(); }); to.addEventListener("change",function(){ output.innerText=display(); }); })(); 
 <select class="form-control" id="daysFrom" ng-model="daysFrom" ng-change="getSubcategoryValue('daysFrom');"> <option value="" label="Select Day" selected="selected">Select Day</option> <option value="1" label="Monday">Monday</option> <option value="2" label="Tuesday">Tuesday</option> <option value="3" label="Wednesday">Wednesday</option> <option value="4" label="Thursday">Thursday</option> <option value="5" label="Friday">Friday</option> <option value="6" label="Saturday">Saturday</option> <option value="7" label="Sunday">Sunday</option> </select> <select class="form-control" id="daysTo" ng-model="daysFrom" ng-change="getSubcategoryValue('daysFrom');"> <option value="" label="Select Day" selected="selected">Select Day</option> <option value="1" label="Monday">Monday</option> <option value="2" label="Tuesday">Tuesday</option> <option value="3" label="Wednesday">Wednesday</option> <option value="4" label="Thursday">Thursday</option> <option value="5" label="Friday">Friday</option> <option value="6" label="Saturday">Saturday</option> <option value="7" label="Sunday">Sunday</option> </select> <div style="margin-top:10px">Current trip length: <b id="output">Please choose days</b> </div> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM