0

ChosenXajaxを介して作成した選択ボックスにJqueryプラグインをバインドしたいのですが、ページが読み込まれたときにSelectが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 に答える