0

我想将 Jquery 插件绑定到Chosen我通过 Xajax 创建的选择框上,当页面加载时,选择不会出现在 DOM 中。

因此,我首先返回选择框,然后.chosen()在框 ID 上执行:

<? $objResponse = new xajaxResponse();
$objResponse->assign($selectID, 'innerHTML', $codeThatCreatesSelectBox);
$objResponse->script('$(function(){ $("#selectID").chosen(); });');
return $objResponse; ?>

但我显然做错了什么......我怎么能这样做?

编辑

我尝试在使用 ajaxComplete() 触发插件之前等待 ajax 返回:

$objResponse->script('$("#selectID").ajaxComplete(function() {$("#selectID").chosen(); });');

但这并没有改变任何东西..

4

1 回答 1

1

您可以创建一个回调来执行此操作。从文档:http ://www.xajax-project.org/En/docs-tutorials/upgrading-from-xajax-0-2-x-to-0-5/

myCallback = xajax.callback.create(100, 10000);
myCallback.onRequest = function()
{
    xajax. $('loadingMsg').style.display = 'block';
};
myCallback.onComplete = function()
{
    xajax. $('loadingMsg').style.display = 'none';
};

// then, on the PHP side, specify the callback option when registering your function:
$xajax->register(XAJAX_FUNCTION, 'myFunction', array(
    'callback' => 'myCallback'
));

因此,您可以在所需的回调中调用您的 jQuery 插件代码。

于 2012-12-05T14:22:27.353 回答