如何通过在 Razor 页面中单击按钮来增加计数器
How to increment counter with button click in Razor pages
你好,我尝试在我的 Razor 页面上实现 Jquery
第一个工作。但是我找不到根本原因,为什么在 foreach 之后它不起作用。
我的Html:
@foreach(var item in Model.ErrorList)
{
<input type="button" id=@item.ErrorListID value=@item.ErrorName />
<input type="text" name="Tb+@item.ErrorListID" id="Tb+@item.ErrorListID" value="0" />
}
工作脚本:
<script>
$(document).ready(function(){
//var counter = $('#TextBox').val();
$('#AddButton').click( function() {
var counter = $('#TextBox').val();
counter++ ;
$('#TextBox').val(counter);
});
});
</script>
和所有按钮的 JQ。一定有什么错误:-(
@foreach (var item in Model.ErrorList)
{
<script>
$(document).ready(function(){
//var counter = $('#TextBox').val();
$('#@item.ErrorListID').click( function() {
var counter = $('#Tb+@item.ErrorListID').val();
counter++ ;
$('#Tb+@item.ErrorListID').val(counter);
});
});
</script>
}
}
在按钮上使用 class,您将解决该问题。
每次单击按钮,您都可以定位“下一个”input
。
@foreach(var item in Model.ErrorList)
{
<input type="button" class="incrementer" id=@item.ErrorListID value=@item.ErrorName />
<input type="text" name="Tb+@item.ErrorListID" id="Tb+@item.ErrorListID" value="0" />
}
然后,你只需要一个事件处理器:
$(document).ready(function(){
$('.incrementer').click( function() {
let nextInput = $(this).next("input")
let count = parseInt(nextInput.val()) + 1
nextInput.val(count)
});
});
你好,我尝试在我的 Razor 页面上实现 Jquery 第一个工作。但是我找不到根本原因,为什么在 foreach 之后它不起作用。
我的Html:
@foreach(var item in Model.ErrorList)
{
<input type="button" id=@item.ErrorListID value=@item.ErrorName />
<input type="text" name="Tb+@item.ErrorListID" id="Tb+@item.ErrorListID" value="0" />
}
工作脚本:
<script>
$(document).ready(function(){
//var counter = $('#TextBox').val();
$('#AddButton').click( function() {
var counter = $('#TextBox').val();
counter++ ;
$('#TextBox').val(counter);
});
});
</script>
和所有按钮的 JQ。一定有什么错误:-(
@foreach (var item in Model.ErrorList)
{
<script>
$(document).ready(function(){
//var counter = $('#TextBox').val();
$('#@item.ErrorListID').click( function() {
var counter = $('#Tb+@item.ErrorListID').val();
counter++ ;
$('#Tb+@item.ErrorListID').val(counter);
});
});
</script>
}
}
在按钮上使用 class,您将解决该问题。
每次单击按钮,您都可以定位“下一个”input
。
@foreach(var item in Model.ErrorList)
{
<input type="button" class="incrementer" id=@item.ErrorListID value=@item.ErrorName />
<input type="text" name="Tb+@item.ErrorListID" id="Tb+@item.ErrorListID" value="0" />
}
然后,你只需要一个事件处理器:
$(document).ready(function(){
$('.incrementer').click( function() {
let nextInput = $(this).next("input")
let count = parseInt(nextInput.val()) + 1
nextInput.val(count)
});
});