2 개의 입력 값을 더하고 합계 표시

셰인

시작 및 종료 시간에 대해 2 개의 '시간'입력이 있습니다.

두 입력이 모두 완료되면 '총계'필드에 시작과 끝 사이의 합계가 자동으로 표시되기를 원합니다 (예 : 8 시간).

<input type='time' value="09:00" id="MondayStart" name='MondayStart' class='form-control'>
<input type='time' value="17:00" name='MondayEnd' id="MondayEnd" class='form-control'>
<input type="text" name="total">

이 스크립트 ( http://jsbin.com/emoziw/1/edit?html,js,output )를 따라 시도했지만 시간으로 변경할 수없는 것 같습니다.

비빅

기본값이 있으므로 이것은 좋습니다. 다음과 같은 작업을 수행해야합니다 (jQuery 사용).

$(".form-control").on('change', ()=>{
  var $this = $(this);
  var sum;
  sum = /*do the sum calculation here*/;
  $('input[name="total"]').eq(0).val(sum);
  //if you put an id to the total then you can just use $(id here).val(sum)
});

클래스가 change있는 요소 에서 이벤트가 트리거 form-control되면 합계가 자동으로 업데이트됩니다.

추신:

나는 합계의 소유자에 기본값을 넣는 것이 좋습니다 (물론 기본값의 합계)

편집하다

시간 계산을 도와 드리고 싶어서 함수를 만들었습니다.

function doCalc($jq){//pass in the jqSelection that gets the two input
  var $beg = $jq.eq(0);//first element with this class
  var $end = $jq.eq(1);//second element with this class

  var beg_t = {
    h: getH($beg),
    m: getM($beg)
  }

  var end_t = {
    h: getH($end),
    m: getM($end)
  }

  var elapsed = {
    h: end_t.h - beg_t.h,
    m: end_t.m - beg_t.m
  }

  return ""+elapsed.h+":"+elapsed.m;//so it can be used with what's above
}

/

function getH($t){
  var str = $t.val();
  return str.replace(/(\d{2}):(\d{2})/,"$1");
}

function getM($t){
  var str = $t.val();
  return str.replace(/(\d{2}:(\d{2})/,"$2");
}

편집 2 :

원하는 경우 onchange EH에 함수 포인터를 전달할 수 있습니다 (따라서 이벤트를 트리거하지 않고도 함수를 호출 할 수 있습니다).

function updateSum(){
  var $this = $(".form-control");
  var sum;
  sum = doCalc($this);
  $('input[name="total"]').eq(0).val(sum);
  //if you put an id to the total then you can just use $(id here).val(sum)
}

따라서 다음을 가질 수 있습니다.

$(document).ready(()=>{
  updateSum();
  $(".form-control").on('change', updateSum);
});

편집 3 :

()=>{/*...*/}익명 함수를 선언하는 ES6 방식 일 뿐이며, function(){/*...*/}더 편하면 대체 할 수 있습니다 .

4 일명 요약 수정 :

이 답변을 잃어버린 경우 웹 사이트에 추가해야하는 기능을 요약하면 다음과 같습니다.

@@ Regex 기반 입력 처리 @@

function getH($t){
  var str = $t.val();
  return str.replace(/(\d{2}):(\d{2})/,"$1");
}

function getM($t){
  var str = $t.val();
  return str.replace(/(\d{2}:(\d{2})/,"$2");
}

@@계산@@

function doCalc($jq){//pass in the jqSelection that gets the two input
  var $beg = $jq.eq(0);//first element with this class
  var $end = $jq.eq(1);//second element with this class

  var beg_t = {
    h: getH($beg),
    m: getM($beg)
  }

  var end_t = {
    h: getH($end),
    m: getM($end)
  }

  var elapsed = {
    h: end_t.h - beg_t.h,
    m: end_t.m - beg_t.m
  }

  return ""+elapsed.h+":"+elapsed.m;//so it can be used with what's above
}

@@ 업데이트 기능 @@

function updateSum(){
  var $this = $(".form-control");
  var sum;
  sum = doCalc($this);
  $('input[name="total"]').eq(0).val(sum);
  //if you put an id to the total then you can just use $(id here).val(sum)
}

@@ 이벤트 처리 및 Call @@

$(document).ready(function(){
  updateSum();
  $(".form-control").on('change', updateSum);
});

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

다른 두 입력 값의 합계를 표시하는 입력 상자

분류에서Dev

삽입 / 업데이트시 Oracle SQL 트리거를 사용하여 2 개의 값을 계산하고 세 번째 값을 업데이트합니다.

분류에서Dev

숫자 인 2 개의 입력 필드의 값을 가져 와서 Jquery를 사용하여 나누고 결과를 다른 입력에 표시하려면 어떻게해야합니까?

분류에서Dev

2 개의 입력 필드를 계산하여 <p> 태그에 표시 (인쇄)하고 싶습니다.

분류에서Dev

변경시 입력 값을 계산하고 기본값 결과를 표시해야합니까?

분류에서Dev

2 개의 테이블을 결합하고 ID로 표시

분류에서Dev

2 개의 입력을 사용하거나 입력 유형을 변경하여 비밀번호 표시

분류에서Dev

배열에 입력 값을 더하고 합계 만들기

분류에서Dev

MySQL : 2 개의 테이블을 결합하고 합계 값 계산

분류에서Dev

열 3에 최대 개수가있는 한 테이블에서 2 개의 열을 표시하고 다른 테이블에서 계산 된 값의 합계를 표시합니다.

분류에서Dev

두 개의 입력 값을 곱하고 jQuery를 사용하여 페이지의 단락으로 답변 표시

분류에서Dev

EditText에 입력 된 값의 합계와 상수를 표시합니다.

분류에서Dev

결과를 0으로 무시하고 2 개 테이블의 2 개 열 값 합계

분류에서Dev

AngularJS : 입력 텍스트 필드에 여러 개체의 속성 값을 쉼표로 구분하여 표시합니다.

분류에서Dev

입력 유형 배열을 합산하고 출력에 표시

분류에서Dev

두 개의 텍스트 상자 값을 곱하고 세 번째 텍스트 상자에 합계 표시

분류에서Dev

열의 유사한 값을 계산하고 값 및 행 수와 함께 출력을 표시합니다. 또한 주문 유지

분류에서Dev

입력에서 세 숫자의 합계를 표시하고 같은 줄에 세 숫자를 표시

분류에서Dev

출력이 표시되지 않는 이유는 무엇입니까? 여기에 대체 위치에 두 개의 문자열을 표시하려고합니다.

분류에서Dev

입력 필드의 기본값을 표시하지 않음

분류에서Dev

총합계의 백분율을 표시하는 측정 값을 작성하는 방법은 무엇입니까?

분류에서Dev

AngularJS : 입력 값의 합계

분류에서Dev

배열 2 개를 더하고 합계의 평균을 구하려면 어떻게해야합니까?

분류에서Dev

Angular2 : * ngFor를 사용하여 2 개의 배열을 키 값 쌍으로 표시합니다.

분류에서Dev

Android는 하나의 레이아웃에 입력의 여러 값을 표시합니다.

분류에서Dev

두 변수 값을 다른 함수로 계산하고 출력을 PHP의 다른 함수에 표시하는 방법은 무엇입니까?

분류에서Dev

이 변수 조합이 2 개의 백 슬래시로 답을 출력하는 이유는 무엇입니까?

분류에서Dev

2 팬더 사이의 값을 찾고 발견되면 계산을 수행하십시오.

분류에서Dev

선택 드롭 다운 값을 다른 입력과 비교하고 일치하는 값을 표시합니다.

Related 관련 기사

  1. 1

    다른 두 입력 값의 합계를 표시하는 입력 상자

  2. 2

    삽입 / 업데이트시 Oracle SQL 트리거를 사용하여 2 개의 값을 계산하고 세 번째 값을 업데이트합니다.

  3. 3

    숫자 인 2 개의 입력 필드의 값을 가져 와서 Jquery를 사용하여 나누고 결과를 다른 입력에 표시하려면 어떻게해야합니까?

  4. 4

    2 개의 입력 필드를 계산하여 <p> 태그에 표시 (인쇄)하고 싶습니다.

  5. 5

    변경시 입력 값을 계산하고 기본값 결과를 표시해야합니까?

  6. 6

    2 개의 테이블을 결합하고 ID로 표시

  7. 7

    2 개의 입력을 사용하거나 입력 유형을 변경하여 비밀번호 표시

  8. 8

    배열에 입력 값을 더하고 합계 만들기

  9. 9

    MySQL : 2 개의 테이블을 결합하고 합계 값 계산

  10. 10

    열 3에 최대 개수가있는 한 테이블에서 2 개의 열을 표시하고 다른 테이블에서 계산 된 값의 합계를 표시합니다.

  11. 11

    두 개의 입력 값을 곱하고 jQuery를 사용하여 페이지의 단락으로 답변 표시

  12. 12

    EditText에 입력 된 값의 합계와 상수를 표시합니다.

  13. 13

    결과를 0으로 무시하고 2 개 테이블의 2 개 열 값 합계

  14. 14

    AngularJS : 입력 텍스트 필드에 여러 개체의 속성 값을 쉼표로 구분하여 표시합니다.

  15. 15

    입력 유형 배열을 합산하고 출력에 표시

  16. 16

    두 개의 텍스트 상자 값을 곱하고 세 번째 텍스트 상자에 합계 표시

  17. 17

    열의 유사한 값을 계산하고 값 및 행 수와 함께 출력을 표시합니다. 또한 주문 유지

  18. 18

    입력에서 세 숫자의 합계를 표시하고 같은 줄에 세 숫자를 표시

  19. 19

    출력이 표시되지 않는 이유는 무엇입니까? 여기에 대체 위치에 두 개의 문자열을 표시하려고합니다.

  20. 20

    입력 필드의 기본값을 표시하지 않음

  21. 21

    총합계의 백분율을 표시하는 측정 값을 작성하는 방법은 무엇입니까?

  22. 22

    AngularJS : 입력 값의 합계

  23. 23

    배열 2 개를 더하고 합계의 평균을 구하려면 어떻게해야합니까?

  24. 24

    Angular2 : * ngFor를 사용하여 2 개의 배열을 키 값 쌍으로 표시합니다.

  25. 25

    Android는 하나의 레이아웃에 입력의 여러 값을 표시합니다.

  26. 26

    두 변수 값을 다른 함수로 계산하고 출력을 PHP의 다른 함수에 표시하는 방법은 무엇입니까?

  27. 27

    이 변수 조합이 2 개의 백 슬래시로 답을 출력하는 이유는 무엇입니까?

  28. 28

    2 팬더 사이의 값을 찾고 발견되면 계산을 수행하십시오.

  29. 29

    선택 드롭 다운 값을 다른 입력과 비교하고 일치하는 값을 표시합니다.

뜨겁다태그

보관