Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 使用ajax从文本框调用带有值的ActionResult。_Jquery_Ajax_Asp.net Mvc - Fatal编程技术网

Jquery 使用ajax从文本框调用带有值的ActionResult。

Jquery 使用ajax从文本框调用带有值的ActionResult。,jquery,ajax,asp.net-mvc,Jquery,Ajax,Asp.net Mvc,用户更新的唯一字段是QuantityDelivered,然后用户单击Accept按钮,通过Ajax更新文本框中输入的数字和ShoeOrderItem @for (int i = 0; i < Model.ShoeOrderItemList.Count(); i++) { <tr> <td class="text-center"> @Html.HiddenFor(model => Model.ShoeOrderItemList[i].Sh

用户更新的唯一字段是QuantityDelivered,然后用户单击Accept按钮,通过Ajax更新文本框中输入的数字和ShoeOrderItem

@for (int i = 0; i < Model.ShoeOrderItemList.Count(); i++)
{
<tr>
    <td class="text-center">
        @Html.HiddenFor(model => Model.ShoeOrderItemList[i].ShoeOrderItemId)
        @Html.DisplayFor(model => Model.ShoeOrderItemList[i].ShoeOrderItemId)
    </td>
    <td class="text-center">
        @Html.DisplayFor(model => Model.ShoeOrderItemList[i].LineItemTotal)
    </td>
    <td class="text-center">
        @Html.DisplayFor(model => Model.ShoeOrderItemList[i].ShoeSize.Size)
    </td>
    <td class="text-center">
        @Html.DisplayFor(model => Model.ShoeOrderItemList[i].Shoe.ManufacturingCost)
    </td>
    <td class="text-center">
        @Html.DisplayFor(model => Model.ShoeOrderItemList[i].Quantity)
    </td>
    <td class="text-center">
        @Html.DisplayFor(model => Model.ShoeOrderItemList[i].QuantityOutstanding)
    </td>
    <td>
        @(Html.Bootstrap().TextBoxFor(m => m.QuantityDelivered)
          .Placeholder("Quantity Delivered ")
          .Prepend("#").Append(Html.Bootstrap()
          .Button().Text("Accept").Id("AcceptItem")))
    </td>
</tr>
}
我只想使用用户单击按钮AcceptItem时输入的值调用ActionResult

我只想用输入的值调用ActionResult 当用户单击按钮AcceptItem时,将显示该选项

遵循此解决方案-

假设你有以下表格。请为输入字段提供正确的id,注意我做了一个POST操作

<script src="~/Scripts/jquery-1.10.2.min.js"></script>

<script>
    function submitForm() {

        jQuery.ajax({
            type: "POST",
            url: "@Url.Action("Submit")",
            dataType: "json",
            contentType: "application/json; charset=utf-8",
            data: JSON.stringify({ name: $("#quantity").val() }),
            success: function (data) {
                alert(data.Name);
            },
            failure: function (errMsg) {
                alert(errMsg);
            }
        });
    }
</script>

<input type="text" id="quantity"/>
<input type="button" value="Click" onclick="submitForm()" />
这个动作只会返回一个简单的Person对象(例如,我使用它)

现在,当您单击按钮时-

如果要执行GET操作,那么JQuery代码应该如下所示-

jQuery.ajax({
    type: "GET",
    url: "@Url.Action("Submit")" + "/" + $("#quantity").val(),
    dataType: "json",
    contentType: "application/json; charset=utf-8",
    data: "", //JSON.stringify({ name: $("#quantity").val() }),
    success: function (data) {
        alert(data.Name);
    },
    failure: function (errMsg) {
        alert(errMsg);
    }
});
}

不要忘记将AllowGet添加到JsonResponse-

    public ActionResult Submit(string id)
    {
        return Json(new Person() { Name = id + " Its Me" }, JsonRequestBehavior.AllowGet);
    }

谢谢你的回复。我需要从隐藏字段传递
shoeOrderItemId
,以及用户
@Html.DisplayFor(model=>model.ShoeOrderItemList[I].quantity)在文本框中输入的
quantity
。最好的解决方案是使用这样的表单吗?
public class Person
{
    public string Name { get; set; }
}
jQuery.ajax({
    type: "GET",
    url: "@Url.Action("Submit")" + "/" + $("#quantity").val(),
    dataType: "json",
    contentType: "application/json; charset=utf-8",
    data: "", //JSON.stringify({ name: $("#quantity").val() }),
    success: function (data) {
        alert(data.Name);
    },
    failure: function (errMsg) {
        alert(errMsg);
    }
});
    public ActionResult Submit(string id)
    {
        return Json(new Person() { Name = id + " Its Me" }, JsonRequestBehavior.AllowGet);
    }