我在执行以下操作的javascript时遇到了麻烦:
单击图像时增加/减少文本框内的数字。 设置该文本框的限制(不低于零,不高于x)
请知道我在同一页面上有很多文本框,那么如何解决这个问题呢?
答案 0 :(得分:6)
您不需要(也不应该)为每个图像和输入字段设置ID。您需要为每个输入字段设置名称属性(因此您的服务器代码可以区分它们 - 但不是JS)。
如果每行的“添加”部分如下所示:
<div>
<img src='minus.png' onclick="increment(this.parentNode.getElementsByTagName('input')[0]);" />
<input type='text' name='product_1010101011' />
<img src='plus.png' onclick="decrement(this.parentNode.getElementsByTagName('input')[0]);" />
</div>
使用此javascript:
function increment(myInput) {
// use Mike Samuel's code here
myInput.value = (+myInput.value + 1) || 0;
}
function decrement(myInput) {
// use Mike Samuel's code here
myInput.value = (myInput.value - 1) || 0;
}
答案 1 :(得分:3)
我认为这应该让你前进:
<form>
<input type="button" id="minus" value="-"
onClick="textb.value = (textb.value-1)">
<input type="text" id="textb" name="name" value="1" />
<input type="button" value="+"
onClick="textb.value = (+textb.value+1)">
</form>
实例here
答案 2 :(得分:0)
增加
myInput.value = (+myInput.value + 1) || 0;
递减
myInput.value = (myInput.value - 1) || 0;
|| 0
会将任何不解析为整数的值重置为默认值0。