使用jQuery附加到动态创建的元素

时间:2014-02-25 07:08:51

标签: jquery

我有一个简单的ajax调用,它将html加载到fancybox模式中:

    $.ajax(
        {
            type: 'POST',
            url: "/basket/dealdeliverybox",
            success : 
               function(data) {
                    if(data != 'SKIP')
                    {
                        $('#dealSuggestBox').html(data);

                        $.fancybox($('#dealSuggestBox').html());
                    }
               },
            async:false
       });

现在我还有一个zipcode keyup事件,对于这个模式框中的zipcode字段:

$(document).on('keyup', '#takeaway_delivery_zipcode', function(){
var zipcode = $(this).val();

if(zipcode.length == 4)
{
    $.post("basket/deliverycheck", { zipcode: zipcode },
       function(data) {
            $('#takeaway_status').removeClass('alert-danger').removeClass('alert-success');
            $('#takeaway_status').html(data.msg);
            $('#takeaway_status').addClass(data.css);
       }, 'json');
}
});

因此,每当用户输入4位数字时,它就会运行一个deliverycheck,它应该将状态响应给#takeaway_status。

现在问题是它没有添加任何html或删除/添加任何类到#takeaway_status。

我发现这是因为它是因为它在这个盒子内容中,在第一个ajax之后加载。

如何使用jQuery将数据附加到动态创建的元素?我怎样才能使jQuery也听取新的html而不仅仅是原始页面加载内容

0 个答案:

没有答案