2017-05-05 65 views
2

我想根據他的in-timeout-time得到一個人工作的天數。它應該自動上一天的實地計算時,它從表中的行選擇的,它不是我的js代碼Javascript:自動獲取其他功能

HTML

<fieldset> In-Time: 
    <input class="input" type="text" name="InTime" id="intime" value="" /> 
</fieldset> 
<fieldset>Out-Time: 
    <input class="input" type="text" name="OutTime" id="outtime" value="" /> 
</fieldset> 
<fieldset> Day: 
    <input class="input" type="text" id="day" name="Day" value="" /> 
</fieldset> 

JQUERY

$(document).ready(function(){ 
    $('#intime').on('input', function() { 
    if (intime == 08:00:00 && outtime >= 18:00:00) { 
     day == 1; 
    }else if (intime == 08:00:00 && outtime == 12:30:00) { 
     day == 0.5; 
    }else (intime == 12:30:00 && outtime >= 18:00:00) { 
     day == 0.5; 
    }; 
    }); 
    $('#outtime').on('input', function() { 
    if (intime == 08:00:00 && outtime >= 18:00:00) { 
     day == 1; 
    }else if (intime == 08:00:00 && outtime == 12:30:00) { 
     day == 0.5; 
    }else (intime == 12:30:00 && outtime >= 18:00:00) { 
     day == 0.5; 
    }; 
    }); 
}); 

enter image description here

工作
+1

您已聲明銀泰和outtime變量? –

+0

您必須將您的時間轉換爲時間戳,類似'strtotime()'。 –

+0

未定義的變量。您的控制檯應該已經發現了錯誤 – Akintunde007

回答

0

您可以使用moment.js來解析時間。

$(function(){ 
 
    $('#intime,#outtime').on('input', function() { 
 
     // declare variables 
 
     var intime = new moment($("#intime").val(), 'HH:mm:ss'); // get value of intime 
 
     var outtime= new moment($("#outtime").val(), 'HH:mm:ss'); 
 
     
 
     var startTime = new moment("08:00:00", 'HH:mm:ss'); 
 
     var halfDay = new moment("12:30:00", 'HH:mm:ss'); 
 
     var wholeDay = new moment("18:00:00", 'HH:mm:ss'); 
 
       
 
     
 
     var day = 0; // declare day as 0 
 
     if (moment(intime).hour() == 8 && moment(outtime).hour() >= 18) { 
 
      day = 1; 
 
     } 
 
     else if (moment(intime).hour() == 8 && (moment(outtime).hour() == 12 && moment(outtime).minute() == 30)) { 
 
\t \t \t day = 0.5; 
 
\t \t } 
 
    else if ((moment(intime).hour() == 12 && moment(intime).minute() == 30) && moment(outtime).hour() >= moment(wholeDay).hour()) { 
 
      day = 0.5; 
 
     } 
 
     $("#day").val(day); 
 
     /*console.log("imtime", moment(intime).hour()); 
 
     console.log("intime", moment(intime).minute()); 
 
     console.log("outtime",moment(outtime).hour()); 
 
     console.log("outtime",moment(outtime).minute()); 
 
     console.log("wholeDay", moment(wholeDay).hour());*/ 
 
     
 
    }); 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script> 
 
<fieldset> In-Time: 
 
    <input class="input" type="text" name="InTime" id="intime" value="" /> 
 
</fieldset> 
 
<fieldset>Out-Time: 
 
    <input class="input" type="text" name="OutTime" id="outtime" value="" /> 
 
</fieldset> 
 
<fieldset> Day: 
 
    <input class="input" type="text" id="day" name="Day" value="" /> 
 
</fieldset>

+0

非常感謝!有用 – Meg922

0

寫下你的腳本如下: -

$(document).ready(function(){ 
    $('#intime,#outtime').on('input', function() { 
     // declare variables 
     var intime = $("#intime").val() || 0;; // get value of intime 
     var outtime= $("#outtime").val() || 0;; // get value of outtime 
     var day = 0; // declare day as 0 
     if (intime == 08:00:00 && outtime >= 18:00:00) { 
      day == 1; 
     }else if (intime == 08:00:00 && outtime == 12:30:00) { 
      day == 0.5; 
     }else (intime == 12:30:00 && outtime >= 18:00:00) { 
      day == 0.5; 
     }; 
    }); 
}); 
0

獲得銀泰和值班時間。並檢查你的代碼中的語法錯誤有多個。

<script> 
$(document).ready(function(){ 
    $('#intime').on('input', function() { 
     var intime = $("#intime").val(); 
     var outtime= $("#outtime").val(); 
     if (intime == '08:00:00' && outtime >= '18:00:00') { 
      day == 1; 
     }else if (intime == '08:00:00' && outtime == '12:30:00') { 
      day == 0.5; 
     }else if(intime == '12:30:00' && outtime >= '18:00:00') { 
      day == 0.5; 
     } 
    }); 

    $(document).ready(function(){ 
     $('#outtime').on('input', function() { 
     var intime = $("#intime").val(); 
     var outtime= $("#outtime").val(); 
     if (intime == '08:00:00' && outtime >= '18:00:00') { 
      day == 1; 
     }else if (intime == '08:00:00' && outtime == '12:30:00') { 
      day == 0.5; 
     }else if(intime == '12:30:00' && outtime >= '18:00:00') { 
      day == 0.5; 
     } 
     }); 
    }); 
}); 
</script>