0

ロードされたページ内で jQuery プラグインを呼び出すことができないことはわかってい.ajax()ます。唯一の方法は、親ページに関数を記述しfunction(data)、AJAX 要求の一部でこの関数を呼び出すことです。これは一般的に機能しますが、関数が正しく機能するためにロードされたコンテンツからの変数が必要であり、何をしようとしても、ロードされたコンテンツから変数を親関数に取得できないため、スタックしています。私の例を参照してください:

これは私の機能です:

function doPaginate(maxpage) {
    jQuery("#demo5").paginate({
        count: maxpage
    });
}​

これは私のjQuery.ajax()要求です:

function loadProfileTab(tab, ownerinfo) {
    jQuery.post("./profile_ajax.php", {
        task: 'profiletab',
        v: tab,
        user_id: ownerinfo
    }, function(data) {
        jQuery("#profile_content_wrapper").html(data);
        doPaginate(maxpage);
    });
}​

私がしようとしているのはmaxpage、PHP で読み込まれたコンテンツからdoPaginate(maxpage) AJAX request 内の関数に変数を取得することです。

たとえば、最初にリクエストを開始して の結果を取得し$maxpage、次にリクエストを再度開始して、この結果を新しいリクエストで使用しますが、それは「最も良い」ソリューションではないようです。

誰かが私をより良い解決策に導くことができますか? または、上記のコード例で試していることは不可能ですか?

よろしくお願いします!

4

1 に答える 1

0

maxpage変数の値を、AJAX によって返される HTML の非表示フィールドとして追加し、jQueryを使用して値を見つけることができます。たとえば、次のようになります。

var data = '<html><head></head><body><form><div>Ble</div><input id="maxpage" type="hidden" value="10"/></form></body></html>';
var maxpage = $(data).find('#maxpage').val();
console.log(maxpage);
alert(maxpage);

このコードのデモは次のとおりです。</p>

于 2012-11-01T21:10:01.527 に答える