2012-06-12 88 views
4

我想知道如何將自動完成的JQuery UI小部件添加到我在Zend Framework中開發的表單中,而不使用ZendX。該網站的文件夾是根據框架設置的,但我沒有使用Zend_Form。Zend Framework的JQuery UI自動完成

所以我剝奪一切都下到最簡單的形式,它的工作原理:

<script> 
    $(document).ready(function() { 
    $("input#autocomplete").autocomplete({ 
    source: ["best", "buy"] 
}); 
    }); 
    </script> 

<input id="autocomplete" /> 

但是我有一個在JSON數據庫返回條目的PHP文件。我該如何使用它? 我試着用文件的名字替換數組,但是沒有任何反應。 謝謝!

+0

你在瀏覽器中收到任何Javascript錯誤嗎? – drew010

+0

我不這麼認爲。頁面加載與以前相同。 :/ – user

+0

當你查看呈現的'Zend_From'頁面的源代碼時,它看起來像js文件的路徑是正確的嗎? –

回答

3

這應該爲你工作:

// js stuff 
$("input#autocomplete").autocomplete({ 
    source: "http://localhost/application/index/autocomplete" 
}); 


//IndexController.php 

/** 
* Return AutoComplete stuff 
*/ 
public function autocompleteAction() 
{ 
    // disable view and layout, we want some fanzy json returned 
    $this->_helper->layout()->disableLayout(); 
    $this->_helper->viewRenderer->setNoRender(true); 

    $values = array('best', 'buy'); 
    $valuesJson = Zend_Json::encode($values); 
    echo $valuesJson; 
} 

你可以altough的BASEURL傳遞給您的腳本(而不是使用FULLPATH)

//layout.phtml 
<script type="text/javascript"> 
var baseUrl = "<?= $this->baseUrl(); ?>"; 
</script> 

所以,你可以這樣做:

source: baseUrl + "/index/autocomplete" 
+0

謝謝! :)我認爲寫出整個源代碼路徑的竅門! – user