旋转按钮以增加javascript中的数量

时间:2013-04-18 06:08:58

标签: javascript

我做了一个旋转控制只增加&作为onclick事件递减 我的问题是我想限制它永远不允许显示在值1以下。当它显示1并且我点击减量箭头时它会下降到零并且从那里继续-1,-2, - 3等等

我是否可以添加到此脚本/功能以使最小数量显示为1

我在head标签中的功能是:

  <!---sPIN BUTTONS TO UP QUANTITY---> 
  <script type="text/javascript"> 
      function changeVal(n) { 
           document.forms[0].quantity.value = 

 parseInt(document.forms[0].quantity.value) + n; 
      } 
 </script> 

我的表格中的字段是:

 <td ><input name="quantity" type="text" class="quantity" onfocus="this.blur();" value="1" /></td> 
                    <td style="width:14px;"> 
                          <table cellpadding="0" cellspacing="0"> 
                      <td width="28"><img src="siteImages/btn_up.gif" width="14" height="9" hspace="0" vspace="0" border="0" onClick="changeVal(1);"></td> 
                   </tr> 
                   <tr> 
                   <td><img src="siteImages/btn_down.gif" width="14" height="9" border="0" hspace="0" vspace="0" onClick="changeVal(-1);"></td> 
                    </tr> 

3 个答案:

答案 0 :(得分:1)

使用if条件检查新值是否为非零,并且只有在这种情况下才更改表单元素的值。

function changeVal(n) { 
    var el = document.forms[0].quantity;
    var newval = parseInt(el.value) + n;
    if (newval > 0) {
        el.value = newval;
    }
} 

答案 1 :(得分:1)

仅供记录:

function changeVal(n) {
  var el = document.forms[0].quantity;
  el.value = Math.max(parseInt(el.value) + n, 1);
}

答案 2 :(得分:1)

尝试:

 <script type="text/javascript"> 
function changeVal(n) { 
var newVal=parseInt(document.forms[0].quantity.value) + n 
if (newVal<1){ 
 document.forms[0].quantity.value=1; 
} 
else { 
document.forms[0].quantity.value=newVal; 
} 
} 
</script>