繁体   English   中英

使用部分视图内的输入文本框的 OnChange 刷新部分视图(C#.Net Core)

[英]Refresh a Partial View using OnChange of an Input textbox that is inside that Partial View (C# .Net Core)

我有一个带有部分视图的 Form.cshtml:

<form asp-action="Form">
   <div id="partialDiv">
       @Html.Partial("_SubletOrderLines")
   </div>
</form>

在同一个 Form.cshtml 上,我也有这个脚本:

$("#QtyOrder").change(function () {
        $.ajax(
            {
                url: '/controllername/ComputerOrder?OrderNo=' + Model.OrderNo + '&orderQty=' + $(this).val(),
                type: 'GET',
                data: "",
                contentType: 'application/json; charset=utf-8',
                success: function (data) {
                    $("#partialDiv").html(data);
                },
                error: function () {
                    alert("Error");
                }
            });
    });

在我的局部视图(_SubletOrderLines)中,我有这个输入文本:

<td>
    <input type="text" asp-for="@item.Qty" class="form-control" id="QtyOrder" />
</td>

我的问题是脚本没有在文本更改时触发。 我在这里做错了吗? 我可以通过 url 成功调用 controller,所以我认为 ComputerOrder 没有问题。

根据我的经验,删除 ajax 调用中的内容类型

您正在尝试调用部分视图中的文本框的文本更改事件,这意味着在 DOM 渲染中将不可用。 这就是为什么您的更改事件没有被触发的原因。 尝试使用以下语法更新您的更改事件。

 $(document).on("change","#QtyOrder",function(){ $.ajax( { url: '/controllername/ComputerOrder?OrderNo=' + Model.OrderNo + '&orderQty=' + $(this).val(), type: 'GET', data: "", contentType: 'application/json; charset=utf-8', success: function (data) { $("#partialDiv").html(data); }, error: function () { alert("Error"); } });

$(document).on()将起作用。 谢谢

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM