2012-04-01 4 views
2

의 증가/감소 값 I이 있습니다jQuery를 스팬

  <ul class="deposit" style="float:left;list-style-type:none;"> 
       <a href="javascript:void(0)" id="inc"><li class="first">+</li></a> 
       <a href="javascript:void(0)" id="dec"><li class="second">-</li></a> 
      </ul> 

<div class="left deposit_amount">$<span id="amountSpan"></span></div> 

나는 내가 #inc를 클릭 할 때마다 그래서 #amountSpan 5. 그리고 때마다 #dec 클릭 증가 할,하고 싶은, 값은 5 나는 또한 얻고 자하는 감소되므로,

0은 현재 내가이 가지고 아래의 값은 갈 수 없습니다

$(function(){ 
    $("#inc").click(function(){ 
     $("#amountSpan").val(Number($("#amountSpan").val()) + 5); 
    }); 
    $("#dec").click(function(){ 
     $("#amountSpan").val(Number($("#amountSpan").val()) - 5); 
    }); 
    }); 

을하지만이 작동하지 않습니다. 이것을 어떻게 얻을 수 있습니까?

미리 감사드립니다.

업데이트 :

나는이와 함께, 최대 수를 설정하려고 :

$("#inc").click(function(){ 
    $("#amountSpan").text(Math.max(20, Number($("#amountSpan").text()) + 5)) 
}); 

하지만 그냥 폼 입력을위한 지난 20

+0

* maximum * 값을 제어하려 할 때'Math.min()'을 사용해야합니다. 나는 항상 그걸 뒤에서 얻는다. 그러므로 "inc"루틴에서 값이 20보다 작고 합계가 무엇이든간에 'Math.min (20, Number ...)'이어야합니다. – Pointy

답변

4

대신 .val() (간다 요소)를 사용하려면 .text()을 사용하십시오. 오, 그리고 당신이 증가 할 때, 당신은 가치가 먼저 숫자가되도록 강요 할 필요가있을 것입니다. (오 제로보다 크거나 같은 양을 유지하기 위해 이미 대기

$(function(){ 
    $("#inc").click(function(){ 
     $("#amountSpan").text(Number($("#amountSpan").text()) + 5); 
    }); 
    $("#dec").click(function(){ 
     $("#amountSpan").text(Number($("#amountSpan").text()) - 5); 
    }); 
    }); 

:-)입니다 또한 당신이 할 수있는 올해의 예를 아래에 당 날짜

$("#amountSpan").text(Math.max(0, Number($("#amountSpan").text()) - 5)) 
+0

감사! 그것은 효과가 있었다. 나 한테 바보. 하지만 어떻게해야합니까? 값/텍스트가 0 아래로 갈 수 없습니까? (감소 할 때) – oliverbj

+0

아, 그냥 테스트를 추가하거나'Math.max()'를 사용하십시오 ... 대답을 업데이트 드리겠습니다 – Pointy

+0

고마워요! 당신이 제공 한 수학은 효과가 없었지만. 나는 여전히 0 아래로 갈 수 있습니다. – oliverbj

0

<script type="text/javascript"> 
    function increment1(myInput) { 

     myInput.value = Math.min(31, (+myInput.value + 1) || 0); 
    } 
    function decrement1(myInput) { 
     myInput.value = Math.max(1, (myInput.value - 1) || 0); 
    } 
    /*myInput.value = (myInput.value - 1) || 0;*/ 

</script> 

<img src="Icalorieimage/account/increase_menu.png" 
    width="25" height="20" id="target" style="float:left; cursor:pointer;" align="left" 
    onclick="increment(this.parentNode.getElementsByTagName('input')[0]);"/> 
<img src="Icalorieimage/account/decrease_menu.png" width="25" height="20" style="float:left; cursor:pointer;" 
    align="left" 
    onclick="decrement(this.parentNode.getElementsByTagName('input')[0]);"/> 
관련 문제