部分视图jQuery脚本在Mvc Core中不起作用

flmtquvp  于 2023-05-06  发布在  jQuery
关注(0)|答案(2)|浏览(129)

此部分视图:

@model SetIsApprovedModel

    <form id="frmApprove" data-ajax="true" data-ajax-method="post" data-ajax-url="@(Url.Action("SetApprove", "AccountAdmin"))"
          data-ajax-success="onsuccess" data-ajax-mode="replace" data-ajax-update="#approvePartial" data-ajax-loading="#loadingApprove"
          data-ajax-failure="failed">
        <input type="hidden" asp-for="@Model.UserName" />
        <div class="row px-3 mb-1">
            <div class="col-md-5 text-md-end fw-bold">Approved: </div>
            <div class="col-md-7 text-md-start" id="IsApprovedDiv">
                <input id="chkApprove" type="checkbox" asp-for="@Model.IsApproved" />
            </div>
            <input type="submit" value="Submit" />
        </div>
    </form>
    
    <script>
        $(document).ready(function () {
            $(document).on('change', "input[type='checkbox']", function (e) {
                /*$("#chkApprove").on('change', function (evt) {*/
                $('#frmApprove').trigger('submit');
            });
        });
    </script>

脚本不工作如何纠正它?注意:如果我点击提交按钮,它的工作,但我希望这个表格是张贴在响应改变事件从复选框。

qq24tv8q

qq24tv8q1#

您需要将处理程序附加到复选框,您似乎已经尝试过了。你也可以使用jQuery submit方法。

$("#chkApprove").on('change', function (evt) {
  $('#frmApprove’).submit();
});
yyhrrdl8

yyhrrdl82#

我担心在局部视图中编写的脚本在局部视图在主视图中呈现后将无法工作,因为它是一个cshtml文件。所以我有一个测试,它将脚本移动到@section Scripts{}包围的主视图中,您可以看到我的测试结果。

或者你也可以在局部视图中包含jquery库。例如,如果您有一个默认的asp.net核心MVC项目,您可以在脚本之前编写<script src="~/lib/jquery/dist/jquery.min.js"></script>

相关问题