通过Xajax创建选择框后,选择Fire插件

时间:2012-12-05 14:12:31

标签: jquery ajax drop-down-menu jquery-chosen

我想在我通过Xajax创建的选择框中绑定Jquery插件Chosen,当页面加载时,Select没有在DOM中显示。

所以我首先返回选择框,然后在框ID:

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

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

修改

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

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

但它没有改变任何东西......

1 个答案:

答案 0 :(得分: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插件代码。