Вопрос по zend-framework, jquery, autocomplete – JQuery UI Автозаполнение с Zend Framework

4

Мне было интересно, как добавить виджет автозаполнения JQuery UI в форму, которую я разрабатываю в Zend Framework, без использования ZendX. Папки для веб-сайта настроены в соответствии с платформой, но я не использую Zend_Form.

Так что я все разобрал до самой простой формы, которая работает:

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

<input id="autocomplete" />

Но у меня есть файл PHP, который возвращает записи из базы данных в формате JSON. Как я могу использовать это вместо этого? Я попытался заменить массив именем файла, но тогда ничего не происходит. Спасибо!

Получаете ли вы какие-либо ошибки Javascript в браузере? drew010
Я так не думаю. Страницы загружаются так же, как и раньше. : / user
Когда вы просматриваете источник визуализацииZend_From страница выглядит как путь к файлу (файлам) js правильный? Michael Irey
Пожалуйста, предоставьте пример кода, если можете. Kevin Bedell

Ваш Ответ

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"
благодарю вас! :) Я думаю, что выписывание всего пути к исходному коду сделало свое дело! user

Похожие вопросы