为什么我的jquery对话框不会弹出?

为什么我的jquery对话框不会弹出?,jquery,jquery-ui,jquery-ui-dialog,Jquery,Jquery Ui,Jquery Ui Dialog,我不知道为什么我的对话框不会弹出是怎么回事,因为当我尝试从html弹出表单时,它工作得很好,但从生成的jquery表来看,它不会。那我该怎么办 success: function(data){ var toAppend = ''; toAppend += '<thead><tr><th>Name</th><th>Image</th><th>Price</th

我不知道为什么我的对话框不会弹出是怎么回事,因为当我尝试从html弹出表单时,它工作得很好,但从生成的jquery表来看,它不会。那我该怎么办

success: function(data){
            var toAppend = '';

            toAppend += '<thead><tr><th>Name</th><th>Image</th><th>Price</th></tr></thead>';
            toAppend += '<tbody>';

            for(var i=0;i<data.length;i++){

                toAppend += '<tr><td><p>'+

                data[i]['product_name'][0]+'</p></td><td><a href="#">'+

                <img id="size" src="'+data[i]['image'][0]+'" alt="">+'</a></td><td>'+

                data[i]['price'][0]+'</td></tr>';
            }

            toAppend += '</tbody>';

            $('.data-results').append(toAppend);
        }

您已经有了一个迭代器

<img id="size-"+i
将id=“size”重命名为class=“size”,因为参数“id”对于每个元素都必须是唯一的

$('.size').live("click",function() {
    $('#dialog').dialog({
        resizable: false,
        modal: true
    });
});

如果你正在循环,则不会。在尝试调用
.dialog(..)
之前,请确保你有一个id为
'dialog'
的元素。发布一个fiddle{}将使我们很容易看到问题并提出正确的解决方案。我有点困惑,我从id中删除了大小,因此基本上id变成了0、1、2等。。。我如何调用它?你应该保持原样,并更改
是的,我遵循了它,从我的firebug生成的id是这样的,单击函数应该在循环中?需要对单击事件使用事件委派,因为图像是动态添加的<代码>$(文档)。在(“单击”、“img[id^=size]”上,函数…
$('img[id^=size]').click(function(){ 
    $('#dialog').dialog({
        resizable: false,
        modal: true
    });
});
$('.size').live("click",function() {
    $('#dialog').dialog({
        resizable: false,
        modal: true
    });
});