0

我知道不可能在.ajax()加载的页面中调用 jQuery 插件,唯一的方法是在父页面中编写一个函数并在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 请求中的函数中

我知道一些解决方法,例如首先启动请求以获取结果$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 回答