我做了一个旋转控制只增加&作为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>
答案 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>