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

У меня есть свой 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,
),
)); ?>

1

Решение

Прежде всего читать документацию. Вы можете использовать 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

Другие решения

<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

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector