0

I am trying to run click event on nested appended elements.

       $(document).ready(function () {
        var year;
        var month;
        var day;


        $(".table-list").one("click", function (e) {
            year = $(this).data("year")
            var this_li = $(this)
            $.get( "get_months/"+year, function( data ) {
              $.each(data, function (key, val) {
                  $(this_li).append('<ul class="sub"><li class="month-list" data-month='+val["_id"]+'>'+val["_id"]+'-'+year+'</li></ul>')
              });
            });
        });

        $(".table-list").delegate(".month-list", "click", function(){
            if($(this).data("clicked"))
            {
                return false;
            }
            month = $(this).data("month")
            var this_li = $(this)
            $.get( "get_days/"+year+"/"+month, function( data ) {
             $.each(data, function (key, val) {
                  $(this_li).append('<ul class="sub"><li class="source_list" data-day='+val["_id"]+'>'+val["_id"]+'-'+month+'-'+year+'</li></ul>')
              });

            });
            $(this).data("clicked", true);


        });

        $(document).on("click", ".source_list" , function() {
        alert("bla")
         });

    });
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

But click event on "source_list" not working. How can I access this element with jquery? I also tried delegate but it doesn't work too.

Josh Adams
  • 1,770
  • 2
  • 9
  • 23
yigitozmen
  • 883
  • 2
  • 16
  • 38

0 Answers0