4

ZendX を使用せずに、Zend Framework で開発しているフォームにオートコンプリート JQuery UI ウィジェットを追加する方法について考えていました。Web サイトのフォルダーはフレームワークごとに設定されていますが、Zend_Form は使用していません。

だから私はすべてを最も単純な形に落としました。

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

<input id="autocomplete" />

しかし、JSON でデータベースからエントリを返す PHP ファイルがあります。代わりにそれを使用するにはどうすればよいですか? 配列をファイルの名前に置き換えてみましたが、何も起こりません。ありがとう!

4

1 に答える 1

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;
}

(フルパスを使用する代わりに)BaseUrlをスクリプトに渡すこともできます

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

したがって、次のことができます。

source: baseUrl + "/index/autocomplete"
于 2012-06-15T07:10:41.887 に答える