javascript - 在 .remove() 和 .append() 之后返回按钮上的事件

标签 javascript jquery

我在复选框按钮上有一个单击事件,我在单击事件中删除了该事件,然后再次附加了另一个值。我的问题是点击事件在新追加后不再起作用。

<input class="year" type="checkbox" value="2015" /> 2015 <br>
$(".year").click(function(){
    $(".col-md-12").remove(); //i remove the div which contains the checkbox 

    $.ajax({
        url: "criteria_search",          
        type: 'POST', 
        data: {
            criteria: "authors", 
            value: "test" 
        },
        success: function(data) { 
            articles = $.parseJSON(data)
            $("#AppendToElem").append(" <div class=\"col-md-12\"> <h2> Search Results <\/h2> <p> <span>There are<\/span> <strong>3974<\/strong> <span>results for:<\/span> <strong>Computer Animation and Virtual Worlds<\/strong> <\/p> <p> <a class=\"btn\" href=\"#\"><\/a> <\/p> <div class=\"row\"> <div class=\"col-md-3\"> <h3> Filter List <\/h3> <div class=\"form-group\"> <label for=\"exampleInputEmail1\"> Year <\/label><br>");   
            $.each(articles, function(index, jsonObject){
                $("#AppendToElem").append("<input class=\"year\" type=\"checkbox\" value=" + jsonObject.date.date.substring(0, 4) + " /> " + jsonObject.date.date.substring(0, 4) + "<br>") 
            });
        )
    });
});

当我第二次单击复选框后,单击事件未得到处理。我该如何解决这个问题?

最佳答案

改用on。即使您将 checkbox 附加回来,它也应该可以工作:

$(document).on("click",".year",function(){

 $(".col-md-12").remove();//i remove the div which contains the checkbox 
 ..other code...

});

关于javascript - 在 .remove() 和 .append() 之后返回按钮上的事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33120353/

相关文章:

javascript - 如何制作出像这样的页面效果呢?

javascript - 检索一个表行中所有输入字段的值

javascript - 如何将当前日期移动到 jQuery 日期选择器日历的第一行

jquery - Highstocks - 如何更改默认缩放

jquery - css jquery 动画无法完全运行 - 2 个奇怪的错误

javascript - 在其他网站上展示用户公开资料的推荐方式是什么?

javascript - 名称为保留关键字的解构属性

jquery - 使用 jQuery 高效查找下一个可见的表格行

javascript - 如何使用 Javascript Promise 在循环中按顺序执行 AJAX 调用

ajax - 始终使用成功和错误回调