Я хочу создать окно поиска с автозаполнением, в котором результат запроса зависит от двух входов: 1. значение самого окна поиска (по вводу пользователя) 2. выбранное значение раскрывающегося списка
Вы можете увидеть детали из кодов ниже. Моя проблема заключается в источнике функции автозаполнения. Как я могу добавить параметр к URL-адресу? Я пытался использовать конкатенацию строк, например
source: '<?php echo site_url("crowd/get_POIs?cat=");?>'+'some value'+'&q='+'some value'
но это не сработало.
HTML:
<select name="selCat">
<option>....</option>
</select>
<input class="col-3" type="text" id="searchPOI" name="searchPOI" />
Javascript:
$("#searchPOI").autocomplete({
source: '<?php echo site_url("crowd/get_POIs");?>'
});
Контроллер
function get_POIs(){
//alert($_GET['term']);
if (isset($_GET['cat']) && isset($_GET['q'])){;
$cat = strtolower($_GET['cat']);
$q = strtolower($_GET['q']);
$this->crowd->get_POIs($cat,$q);
}
}
Модель
function get_POIs($cat, $q){
$this->db->select('title, contentid');
$this->db->from('attraction');
$this->db->where('cat3 = "'.$cat.'"');
$this->db->like('title', $q);
$query = $this->db->get();
if($query->num_rows > 0){
foreach ($query->result_array() as $row){
$new_row['label']=htmlentities(stripslashes($row['title']));
$new_row['value']=htmlentities(stripslashes($row['contentid']));
$row_set[] = $new_row; //build an array
}
echo json_encode($row_set); //format the array into json data
}
}