我想在我通过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(); });');
但它没有改变任何东西......
答案 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插件代码。