Как отобразить предложения с помощью ajax, jquery и smarty MVC?
В настоящее время я использую MVC и Smarty для создания этого.
Я понятия не имею, как отобразить предложения для автозаполнения в smarty.
Предположим, когда вы вводите что-то в поле ввода, там будет несколько предложений автозаполнения. а предложения берутся из базы данных.
Я также попробовал некоторые коды ajax и jquery, которые нашел в интернете, и приспособил их к своим кодам, но все еще не работает, никаких предложений не найдено
может кто-то пожалуйста, помогите мне? заранее большое вам спасибо!
Пожалуйста, скажите мне, если вам нужна дополнительная информация об этом.
Что я уже пробовал:
Это код для моего поля в index.tpl
<input autocomplete="off" name="str" class="form-control form-control-sm" type="search" placeholder="{language->show langcode='Carian'}" aria-label="Search" id="DATETYPE_1">
Ниже приведен мой код для model.php(предполагая, что БД уже подключена)
function getCarian(){ $sql = "SELECT cm_desc FROM gp_cms_webmenu WHERE cm_showin = 1"; $input = array(); $stmt = $this->DB->Prepare($sql); $rs = $this->DB->Execute($stmt, $input); if($rs) { $rows = array(); if(!$rs->EOF) { while ($results = $rs->fetchInto($row,DB_FETCHMODE_ASSOC)) { $rows[] = array("desc" => $row['cm_desc']); } return $rows; } }
а это мое controller.php код
public function CarianAjax(){ $getData = $this->Model->getCarian(); foreach($getData as $data){ $desc = array("cm_desc"); $getCarian[] = array("desc" => $desc); } foreach($getData as $data){ $getCarian[] = $data; } }
Вот что я попробовал в файле .tpl для отображения данных
$(document).ready(function(){ $("#DATETYPE_1").keyup(function(){ $.ajax({ type: "get", url: "index.php?modload=system&action=6000", data:'keyword='+$(this).val(), beforeSend: function(){ $("#DATETYPE_1").css("background","#FFF url(LoaderIcon.gif) no-repeat 165px"); }, success: function(data){ //$("#suggesstion-box").show(); //$("#suggesstion-box").html(data); $("#DATETYPE_1").css("background","#FFF"); console.log(data); } }); }); }); //To select country name function selectCountry(val) { $("#DATETYPE_1").val(val); $("#suggesstion-box").hide(); }