javascript - 为什么 Jquery 在 Ajax 更新后无法触发事件

标签 javascript jquery ajax asp.net-mvc

在我的 ASP.NET 项目中,我有一个部分类,其中有三个单选按钮。

我有以下详细信息的部分 View ,

_PartialTEST.cshtml

@model FreeLance.Web.Models.PArtialTESTModel

@Html.RadioButtonFor(m => m.D1, "true", new { Name = "test1", @id = "g1", @checked = "true" }) @Html.LabelFor(m => m.MSGD1, @Model.V1)
@Html.RadioButtonFor(m => m.D2, "false", new { Name = "test1", @id = "g2" }) @Html.LabelFor(m => m.MSGD2, @Model.V1) 
@Html.RadioButtonFor(m => m.D3, "false", new { Name = "test1", @id = "g3" }) @Html.LabelFor(m => m.MSGD3, @Model.V1) 

在另一个 View 中使用,

MainTEST.cshtml

<div id="partialDIV">
       @{
           @Html.Partial("_PartialTEST", Model)
       }                           
</div>

我正在使用 AJAX 重新加载 div 的内容,以实现使用新值更新单选按钮的事件

$.ajax({
                type: "POST",
                url: href,               
                traditional: true,
                async: false,
                datatype: "html",
                cache: false,
                contentType: 'application/json',
                data: { DID: DID },
                success: function (data) {
                    $('#partialDIV').empty();
                    $('#partialDIV').html(data);
                },
                error: function (arg, data, value) {

                }
            });

它从代码隐藏中调用以下代码。

[HttpPost]
        public ActionResult GETRADIOVALUES(string CID)
        {
            TESTModel NewModel = new TESTModel();
            ....
            return PartialView("_DurationDetails",NewModel);
        }

现在它可以使用新值正确加载单选按钮。

然而,真正的问题是调用任何 Jquery 事件。

例如

$('#g1').change(function() {
}); 

甚至,

$("input[name=test1]:radio").change(function () {

});

请帮助我解释为什么这些 Jquery 事件没有触发,尽管 ID 也可以在“查看源代码”中找到。

最佳答案

对于动态创建的元素,您需要事件委托(delegate)

 $(document).on('change',"input[name=test1]:radio",function () {
     //code here
 });

关于javascript - 为什么 Jquery 在 Ajax 更新后无法触发事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22348771/

相关文章:

javascript - 创建后在带有模型的 html 页面中显示值

javascript - 在 MVC 中使用 jquery 更改 foreach 循环中的 CSS 类

javascript - 如果不存在 php,则在不同的文件夹中创建 txt 文件

javascript - Dropzone 在后台上传 (PHP)

javascript - 使用双击事件时如何取消单击事件

javascript - AngularJS 的堆栈跟踪?

javascript - 为什么我不能在 JS 和 jQuery 中使用同一个变量?

javascript - 从 HTML 表中删除行

javascript - 由另一个域的 javascript 文件发出的 AJAX 请求

java - JSON:java.lang.Double null 转换为零;我应该如何在客户端处理?