Member 14642072 Ответов: 0

Как отобразить предложения с помощью 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();
     }

0 Ответов