我正在一个由用户组成的项目中,我正在查询一个SQL数据库以回显所有用户,现在我已经对所有样式进行了样式设置,并且每个用户旁边都有一个输入元素,其起始值为零,并且有两个按钮一个使输入元素的值分别增加(#up)和减少(#down)。因此这两个按钮充当微调框,我也想为输入元素设置最小值5和最大值500。
我已经尝试了许多“ onclick”功能,但都无济于事……我尝试使用“ GetElementById”,但这只会更改第一个用户的输入元素的值,我知道这是因为IDso,所以我该怎么办改变这个
请所有帮助表示赞赏。我是一个初学者,所以如果我犯了一个错误,请纠正我,而不是低估。
谢谢。
这是HTML:
<span class = 'username'>".$row['username']."</span>
<form name = 'matchcreator' id='amount' action='arena.php' method ='post'>
<input name = 'm-maker' type = 'text' id='price' maxlength = '15' value='0'/>
<button id='up' type ='button' ><img src='images/up.png' width='10px' height='10px' href='#'> </button>
<button id='down' type ='button' '><img src='images/down.png' width='10px' height='10px' href='#'></button>
</form>
最佳答案
您可以按照David Cash的建议进行操作,并利用带有内置微调器的HTML5输入元素,也可以从上/下箭头以及输入元素本身中删除ID。它看起来如下所示:
的HTML
<span class = 'username'>".$row['username']."</span>
<form name = 'matchcreator' id='amount' action='arena.php' method ='post'>
<input name = 'm-maker' type = 'text' class='price' maxlength = '15' value='0'/>
<button class='up' type ='button'><img src='images/up.png' width='10px' height='10px' href='#'> </button>
<button class='down' type ='button'><img src='images/down.png' width='10px' height='10px' href='#'></button>
</form>
<script src="https://code.jquery.com/jquery-2.2.0.min.js"></script>
<script>
$(function () {
$(".up").on("click", function () {
var trigger = $(this);
var input = trigger.prev();
if (Number(input.val()) < 500) {
input.val(Number(input.val()) + 1);
}
else { alert("max value reached"); }
});
$(".down").on("click", function () {
var trigger = $(this);
var input = trigger.prev().prev();
if (Number(input.val()) > 5) {
input.val(Number(input.val()) - 1);
}
else { alert("min value reached"); }
});
}
</script>