JQuery不选择输入值ASP.Net核心MVC

JQuery不选择输入值ASP.Net核心MVC,jquery,razor,asp.net-core-mvc,alert,Jquery,Razor,Asp.net Core Mvc,Alert,我没有使用JQuery的经验,我希望得到您的帮助。我正在尝试向现有产品添加库存。正在正确调用控制器中的操作。我的目标是在用户输入的股票小于1时发出pop警报。当我尝试为列表中的第一个项目添加库存时,效果非常好!请参见下面的示例1 : 但是,当我尝试对列表中的第二项执行相同操作时,输入的库存编号的值不会被提取。你能帮我找到我缺少的东西吗?为什么这个号码只是第一次被发现,而不是第二次被发现?请参见下面的示例2 您也可以参考以下代码 鉴于: <tbody> @foreach (var i

我没有使用JQuery的经验,我希望得到您的帮助。我正在尝试向现有产品添加库存。正在正确调用控制器中的操作。我的目标是在用户输入的股票小于1时发出pop警报。当我尝试为列表中的第一个项目添加库存时,效果非常好!请参见下面的示例1

:

但是,当我尝试对列表中的第二项执行相同操作时,输入的库存编号的值不会被提取。你能帮我找到我缺少的东西吗?为什么这个号码只是第一次被发现,而不是第二次被发现?请参见下面的示例2

您也可以参考以下代码

鉴于:

<tbody>
@foreach (var item in Model) {
        <tr>
            <th>
                @Html.DisplayFor(modelItem => item.ProductCode)
            </th>
            <td>
                @Html.DisplayFor(modelItem => item.Name)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.Description)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.Stock)
            </td>
            <td>
                @{
                    var temp = (Math.Truncate(item.Price * 100) / 100).ToString("n2");
                    @Html.DisplayFor(model => temp)
                }
            </td>
            <td>
                <a id="editLink" asp-action="Edit" asp-route-id="@item.ProductCode">Edit</a> |
                <a class="deleteLink" asp-action="Delete" asp-route-id="@item.ProductCode">Delete</a>
            </td>
            <td>
                @using (Html.BeginForm("AddStock", "Livestock", FormMethod.Post))
                {
                <p>
                    <input type="hidden" name="id" value="@item.ProductCode">
                    <input type="hidden" name="pName" value="@item.Name">
                    <input type="number" name="stock" id="inputStock">
                    <input type="submit" value="Add Stock" class="btn btn-primary" id="go"/>
                </p>
                }
            </td>
        </tr>
  }
</tbody>


@foreach(模型中的var项目){
@DisplayFor(modelItem=>item.ProductCode)
@DisplayFor(modelItem=>item.Name)
@DisplayFor(modelItem=>item.Description)
@DisplayFor(modeleItem=>item.Stock)
@{
var temp=(数学截断(item.Price*100)/100).ToString(“n2”);
@DisplayFor(model=>temp)
}
编辑|
删除
@使用(Html.BeginForm(“AddStock”,“牲畜”,FormMethod.Post))
{

} }
在site.js文件中

//Stock
$(document).on('click', '#go', function (event) {
    var numberIn = $('input[name=stock]').val();
    var name = $('input[name=pName]').val();

    if (numberIn < 1) {
        alert("Number must be greater than 0!");
    }
    else {

        alert("You have added " + numberIn + " stock to product: " + name);
    }

});

//股票
$(文档)。在('click','go',函数(事件){
var numberIn=$('input[name=stock]')。val();
var name=$('input[name=pName]')。val();
如果(数字<1){
警报(“数字必须大于0!”);
}
否则{
警报(“您已将“+numberIn+”库存添加到产品:+name”);
}
});

您不能在页面中重复ID,因此请改用类

从单击的按钮,您希望遍历到与该按钮/项目关联的其他元素。在这种情况下,他们是兄弟姐妹

$(文档).on('click','go btn',函数(事件){
var$btn=$(本);
var numberIn=$btn.sibbins('input.input stock').val();
var name=$btn.sibbins('input.input pname').val();
如果(数字<1){
警报(“数字必须大于0!”);
}
否则{
警报(“您已将“+numberIn+”库存添加到产品:+name”);
}
});



你好@charlietfl,非常感谢!这完全有道理!当我改用class时,它工作得非常好!:)