0

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);
        }

これがダイアログ関数の呼び出しです

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

2 に答える 2

1

すでにイテレータがあります。

<img id="size-"+i

クリックセレクターを変更する-

$('img[id^=size]').click(function(){ 
    $('#dialog').dialog({
        resizable: false,
        modal: true
    });
});
于 2012-10-02T02:39:20.970 に答える
1

パラメータ「id」は要素ごとに一意である必要があるため、id="size"の名前をclass="size"に変更します

$('.size').live("click",function() {
    $('#dialog').dialog({
        resizable: false,
        modal: true
    });
});
于 2012-10-02T03:10:48.137 に答える