1

CGI::Ajax の使用について質問があります。

私の CGI::Ajax 登録関数はテーブルを返し、jquery プラグイン tablesorter を使用してテーブルのスタイルを制御したい

結果テーブルは返されますが、そのスタイルを制御することはできません。つまり、関数の呼び出しでプラグイン tablesorter を使用してテーブルをソートすることはできません。

コードの主要部分は次のとおりです。これらはコードの一部にすぎません。句読点の問題がある場合は無視してください。

ご覧のとおり、メイン プログラム「show_html」はテーブル「メタテーブル」をソートできます。ただし、戻りテーブル「resulttable」は、そこに id='resulttable' を配置してもソートできません。

誰かがこの問題について私を助けてくれますか?

ありがとうございました

my $cgi = CGI->new();
my $pjx = CGI::Ajax->new('js_fun'=>\&perl_fun);

sub per_fun{
...
print $cgi->start_table({id=>'resulttable'}),
...
}



sub show_html{ //partial code
print $html_fh $cgi->start_html(
  -title=>'Selected GEO MetaData',

  -style=> {-src=>[ "jquery-ui-1.8.20.custom.css",
            "jq_tablesorter/themes/green/style.css",
        "jq_ui_redmond/css/selectable.css",
          ]
    },    
  -script=>[
            { -type => "text/javascript",
              -src => "$tempdir/jq/js/jquery-1.7.2.min.js"
            },
            { -type => 'text/javascript',
              -src => "$tempdir/jq/jq_tablesorter/jquery.tablesorter.min.js"
            },
    { -type => 'text/javascript',
              -src => "$tempdir/jq/jq_ui_redmond/js/jquery-ui-1.8.20.custom.min.js"
            },
           q<
                  $(document).ready(function(){
                    $("#metatable").tablesorter();
            $("#resulttable").tablesorter();
     )}

      ....


 $("#done").click(function(){
            $("#metatable").slideUp();
            js_fun(['val1'],['result1']); //ajax
            return false;
            })


.....

print $cgi->div({id=>'result1'});

.....
}
4

1 に答える 1

0

次のように、AJAX 要求が正常に返された後、結果テーブルの sort メソッドへのバインドをやり直す必要があります。

$.post("ajax/jsfun", "['val1']", function(data) {
    $('#resulttable').html(data);
    $("#resulttable").tablesorter();
    });
于 2012-06-27T22:52:25.817 に答える