Как я могу использовать cjuiautocomplete в форме index.php?

1

У меня есть index.php, где я реализую функции поиска, функциональность работает, например, пользователь вводит какое-то название компании и вводит название города, после отправки формы, которую бизнес извлекает из базы данных. Теперь моя следующая задача - реализовать подачу формы с помощью cjuiautocomplete. Например, когда пользователь начинает вводить название бизнеса, предприятия должны спуститься вниз. Главное препятствие на моем пути в том, что я в index.php. Я следил за этим http://www.yiiframework.com/wiki/162/a-simple-action-for-cjuiautocomplete/, но это файл для просмотра контроллера. Как я могу реализовать это в своем index.php. Ниже приведена моя форма в index.php.

<form action="business/searchingtesting" method="GET">                     
  <div class="form-group form-group-lg">
    <h2 class="title">Find the best places to eat, drink, shop, or visit in Islamabad. </h2>
    <div class="col-sm-5 col-md-5 col-lg-5 col-md-offset-1">
      <input type="text" class="form-control" name="business" id="lg" placeholder="I'm looking for....">
    </div>
    <div class="col-sm-3 col-md-3 col-lg-3">
      <input type="text" class="form-control" id="sm" name="city"  placeholder="Islamabad">
    </div>
    <div class="col-sm-3 col-md-3 col-lg-3">
      <input type="submit" class="btn btn-primary btn-lg" value="submit">
    </div>
  </div>
</form> 

Если я следую приведенной выше ссылке и использую приведенный ниже код в своей форме, я получаю эту ошибку "неопределенная переменная модель".

<?php 
  $this->widget('zii.widgets.jui.CJuiAutoComplete', array(
      'attribute' => 'my_name',
        'model' => $model,
        'sourceUrl' => array('my/aclist'),
        'name' => 'business_name',
        'options' => array(
          'minLength' => '3',
        ),
        'htmlOptions' => array(
          'size' => 45,
          'maxlength' => 45,
        ),
  )); ?>
  • 0
    дать этой форме идентификатор и вызвать функцию автозаполнения на нем?
  • 0
    Вы задаете мне вопрос или что?
Показать ещё 1 комментарий
Теги:
database
dropdown
autocomplete
yii

2 ответа

0
<form action="business/searchname" method="GET">                     
    <div class="form-group form-group-lg">
        <h2 class="title">
            Find the best places to eat, drink, shop, or visit in Islamabad. 
        </h2>
        <div class="col-sm-5 col-md-5 col-lg-5 col-md-offset-1">
        <?php 
        $model = Business::model()->findAll();
        $modelcity = Address::model()->findAll(array(
            'select' => 't.city',
            'group' => 't.city', //selecting distinct values as many businesses hass same cities, so the drop down was filled with only one city
            'distinct' => true,
        ));

        foreach ($model as $mo) {
            $store[] = $mo->business_name;
        }
        foreach ($modelcity as $c) {
            $city[] = $c->city;
        }

        $this->widget('zii.widgets.jui.CJuiAutoComplete', array(
            'name' => 'business',
            'source' => array_values($store),
            // additional javascript options for the autocomplete plugin
            'options' => array(
            'minLength' => '2',
        ),
        'htmlOptions' => array(
            'style' => 'height:45px;width:415px;',
            'placeholder' => '          I am Looking for................ ',
        ),
        ));?>
    </div>
    <div class="col-sm-3 col-md-3 col-lg-3">
        <?php 
        $this->widget('zii.widgets.jui.CJuiAutoComplete', array(
            'name' => 'city',
            'source' => array_values($city),
            // additional javascript options for the autocomplete plugin
            'options' => array(
                'minLength' => '2',
            ),
            'htmlOptions' => array(
                'style' => 'height:45px; width:250px;',
                'placeholder'=>'          City................ ',
            ),
        ));
        ?>
    </div>
    <div class="col-sm-3 col-md-3 col-lg-3">
        <input type="submit" class="btn btn-primary btn-lg" value="submit"/>
    </div>
</div>
</form> 
0

Прежде всего, прочитайте документацию. Вы можете использовать CJuiAutoComplete как с моделью, так и без нее. Для использования с моделью вам необходимо указать два параметра: model и attribute. Если вы используете его без модели, то только name. Как я вижу, вы не используете модель в своей форме, поэтому этот пример для вас:

$this->widget('zii.widgets.jui.CJuiAutoComplete', array(
    'name' => 'my_name',
    'sourceUrl' => array('/my/aclist'), // you need first slash if you want properly working URL from web root
));
  • 0
    Уважаемый сэр, спасибо за ваш ответ, но я сделал это по-другому.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню