没有 .on 事件触发。 Asp.NET Core 6、JQuery

问题描述 投票:0回答:1

我正在构建一个 ASP.NET Core 6、JQuery 应用程序。

我的页面上有以下 JQuery

@section Scripts {
    @{
        await Html.RenderPartialAsync("_ValidationScriptsPartial");
    }
    <script>

        $(function () {
           $('#postcodeKnown').on('click', function () {
             alert("Changed")
           });
        });

    </script>
 }

我希望单击事件在以下复选框控件上触发 -

<div class="row">
   <label class="control-label col-md-4">(02) Known</label>
   <div class="col-md-3 mb-1">
      <input id="postcodeKnown" type="checkbox" title="Please check if postcode is known." class="chkBox d-inline-flex mr-4 col-md-1" />
   </div>
</div>

浏览器渲染的HTML是-

<input id="postcodeKnown" type="checkbox" title="Please check if postcode is known." class="chkBox d-inline-flex mr-4 col-md-1">

当我点击复选框时没有任何反应。

我已经尝试过-

@section Scripts {
    @{
        await Html.RenderPartialAsync("_ValidationScriptsPartial");
    }
    <script>

        $(function () {
            $('#<%=postcodeKnown.ClientID%>').on('click', function () {
            alert("Changed");
        });
        
    </script>
 }

还是不行

我已经尝试过没有 $(function () { 周围,什么也没有。

在我的 _layout.cshtml 底部我有 -

<script src="~/lib/jquery/dist/jquery.min.js"></script>
<script src="~/lib/bootstrap/dist/js/bootstrap.bundle.min.js"></script>
<script src="~/js/site.js" asp-append-version="true"></script>
@await RenderSectionAsync("Scripts", required: false)

任何帮助将不胜感激。

javascript jquery asp.net-core
1个回答
0
投票

我已经解决了。我把脚本放在错误的地方...天啊!

我有一个文件 CreatePatient.cshtml,它正在使用

调用我的患者 cshtml
@await Html.PartialAsync("_Patient", Model);

我将脚本放入 Patient cshtml 中,而不是 CreatePatient cshtml 中。一旦我将其移至 CreatePatient cshtml,它就开始工作了。

感谢您的帮助。

© www.soinside.com 2019 - 2024. All rights reserved.