Я хочу иметь возможность сделать удаленный вызов данных от ищейки с помощью typeahead для моделирования с помощью codeigniter.Сделайте дистанционный вызов typeahead для контроллера codeigniter
ответ
Итак, я пытался немного попытаться получить удаленные данные и когнитивный синтаксис типа (twitter), и я не найду хороший пример, который бы соответствовал моим потребностям. Через несколько часов я придумал следующий код, надеюсь, что это поможет.
Взгляд:
var proyectos = new Bloodhound({
datumTokenizer: function(d) { return Bloodhound.tokenizers.whitespace(d.proyecto_titulo); },
queryTokenizer: Bloodhound.tokenizers.whitespace,
remote: {
url: 'proyectos/proyectos/getProyectos?query=%QUERY',
wildcard: '%QUERY'
}
});
$('#titulo').typeahead({
hint: true,
highlight: true,
minLength: 3
},
{
name: 'proyectos',
displayKey: 'proyecto_titulo',
source: proyectos.ttAdapter(),
templates: {
empty: [
'<div class="empty-message">',
'No se encontraron registros que coincidan con la búsqueda.',
'</div>'
].join('\n'),
suggestion: Handlebars.compile('<p>{{proyecto_titulo}} – <strong>{{tipo_proyecto_nombre}}</strong> </p>')
}
});
Соответствующая часть здесь:
удаленный: { URL: '? Proyectos/Proyectos/getProyectos запрос =% QUERY', подстановочные: ' % QUERY» }
Где Proyectos/Proyectos - это путь контроллера и getProyectos - это метод, который отвечает на запрос.
Всякий раз, когда вы печатаете, и в зависимости от параметра minLength, он собирается запросить соответствующую строку в фоновом режиме.
Примечание: Для того, чтобы использовать рекомендации участие в шаблонов настройки, вы должны загрузить handlebars.js библиотеку.
Контроллер:
public function getProyectos() {
$consulta = $this->input->get('query');
$proyectos = $this->proyectos_model->getProyectos($consulta);
if($proyectos->num_rows() > 0){
echo json_encode($proyectos->result());
}
else{
echo '';
}
}
Сначала мы получаем строку запроса из представления с $ this-> вход-> получить ('запрос'), а затем передать его в нашей модели.
Модель:
public function getProyectos($consulta) {
$query = $this->db->query
("select pro.proyecto_id
,pro.proyecto_titulo
,tip.tipo_proyecto_nombre
,tip.tipo_proyecto_id
from proyectos pro
inner join tipos_proyectos tip on tip.tipo_proyecto_id = pro.tipo_proyecto_id
where pro.proyecto_titulo ilike '%" . $consulta . "%' ");
return $query;
}
Здесь в модели мы просто передаем строку запроса на наш SQL SELECT заявление, и мы сделали. База данных, которую я использую, - postgresql.
Надеюсь, вы сочтете это полезным.
- 1. Вызов контроллера Codeigniter из cronjob
- 2. CodeIgniter - Выключить вызов функции контроллера?
- 3. Codeigniter: вызов контроллера из другого файла CodeIgniter
- 4. Bootstrap typeahead и codeigniter
- 5. Вызов API REST из контроллера codeigniter
- 6. вызов функции контроллера из представления в codeigniter
- 7. Ошибка: Нет контроллера: ngМодель для углового Typeahead
- 8. CodeIgniter контроллера всегда вызов функции индекса
- 9. Вызов метода контроллера при подаче формы? CodeIgniter
- 10. Вызов метода модели из другого контроллера codeigniter
- 11. Вызов метода codeigniter из одного контроллера
- 12. Вызов значений данных из контроллера для просмотра в Codeigniter
- 13. Ajax вызов для контроллера CodeIgniter приводит к 403 Запрещено
- 14. Вызов методов TypeAhead из TypeScript
- 15. рельсов link_to: дистанционный
- 16. Опубликовать JSON для контроллера Codeigniter
- 17. AJAX POST для контроллера CodeIgniter
- 18. codeigniter - Два контроллера
- 19. CodeIgniter inherints контроллера от контроллера
- 20. Вызов контроллера внутри контроллера
- 21. Как установить дополнительный параметр POST для twitter typeahead для CodeIgniter
- 22. Вызов контроллера в Codeigniter с помощью CheckBox мыши
- 23. CodeIgniter - вызов главного контроллера сбрасывает URL-адрес корневому серверу
- 24. Редактировать дистанционный алгоритм
- 25. Geo дистанционный фильтр
- 26. Сделайте вызов, нажав на кнопку
- 27. Настройка контроллера Codeigniter
- 28. Правильно сделайте вызов Ajax контроллеру
- 29. вызов контроллера из javascript на вид с использованием codeigniter
- 30. Codeigniter - вызов другого контроллера из вида с помощью ajax