【发布时间】:2018-07-24 18:39:51
【问题描述】:
我为我的输入号码制作了一种新样式,效果很好。 我的问题是当我添加这是一个不起作用的 foreach 结构时。 我认为问题在于 ID 更改了值,但在 foreach 中所有输入都具有相同的 ID。
这是我在 foreach 中的代码:
<div class='value-button' id='decrease' onclick='decreaseValue()' value='Decrease Value'>-</div>
<input size='1' id='number' name='product[<?= $p->id ?>]' value='<?= $p->qty ?>' />
<div class='value-button' id='increase' onclick='increaseValue() 'value='Increase Value'>+</div>
这是js代码:
function increaseValue() {
var value = parseInt(document.getElementById('number').value, 10);
value = isNaN(value) ? 0 : value;
value++;
document.getElementById('number').value = value;
}
function decreaseValue() {
var value = parseInt(document.getElementById('number').value, 10);
value = isNaN(value) ? 0 : value;
value < 1 ? value = 1 : '';
value--;
document.getElementById('number').value = value;
}
我尝试提供唯一的 ID,但不起作用。如果我添加 <?= $p->id ?> 而不是 id number 这不起作用。
我该怎么办? 如果需要,我还可以更改输入的 html。
谢谢
这是我的最后一次测试:
<td class="qty">
<div class="value-button" id="decrease" onclick="decreaseValue()" value="Decrease Value">-</div>
<input size="1" id="92" name="product[92]" value="3">
<div class="value-button" id="increase" onclick="increaseValue() " value="Increase Value">+</div>
<script>
function increaseValue() {
var value = parseInt(document.getElementById('92').value);
value = isNaN(value) ? 0 : value;
value++;
document.getElementById('92').value = value;
}
function decreaseValue() {
var value = parseInt(document.getElementById('92').value);
value = isNaN(value) ? 0 : value;
value < 1 ? value = 1 : '';
value--;
document.getElementById('92').value = value;
}
</script>
</td>
我尝试在 foreach 中添加 js,输入的 id 相同。但不起作用。
【问题讨论】:
-
只是一个旁注,
id应该始终是唯一的 -
我尝试在输入 id 和 js 中添加相同的 api = $p->id ?> 但不起作用。并将所有内容放在 foreach 循环中。但只工作最少的行
-
你能用 var dump 或控制台记录数据并发布它。这将有助于编写代码以了解数据的结构。
-
是的,现在添加我上次测试的输出。谢谢
标签: javascript php html input foreach