2012-12-05 132 views
0

我想要在通過Xajax創建的選擇框上綁定Jquery插件Chosen,Select在加載頁面時不會在DOM中顯示。通過Xajax創建選擇框後選擇火焰選擇框

於是我開始通過返回的選擇框,然後我包裝盒上的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

您可以創建一個回調去做這個。 從文檔: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插件代碼所需的回調中。

+0

我認爲就是這樣,但我需要更多細節才能更好地理解它。 – Alucard