1

私のテーブルにはデータベースからの結果があり、テーブル内のリンクをクリックして削除すると、ページをリロードせずにテーブルを更新しようとしています。以下のコードでは機能しますが、別のリンクをクリックできるようにするには、ページ全体を更新する必要があります。立ち往生!!

$(document).ready(function(){

        $('td a').click(function(){
            //alert($(this).attr('id'));
            var id =$(this).attr('id');
            var img_name =$(this).attr('name');
            //alert(img_name);

            $.ajax({
            type: "POST",
            url: "remove.php",
            cache: false,
            data: "id="+ id +"&img_name="+ img_name,
            success: function(message){
              alert(message);
           }
        });

        var url = "delete.inc.php"; //create random number

          setTimeout(function() {
         $("#table").load(url+" #table>*");
           }, 1000); //wait one second to run function
        /////////////////////// 
        });
4

1 に答える 1

0

問題は、クリック イベントが 'td a' にバインドされており、テーブルがリロードされると削除され、置き換えられることです。その結果、一度しか機能しません。テーブルをリロードするたびにクリック イベントを設定する必要があります。

ajax リクエスト用に別の関数を作成することをお勧めします。次に、 $(document).ready... でクリック イベントを設定します。

$(document).ready(function(){
    $('td a').click( function_name );
});

また、成功関数に設定します...

...
success: function(message){
    alert(message);
    $('td a').click( function_name );
}
...
于 2011-04-09T14:11:52.337 に答える