SearchString.php 1.76 KB
<?php
use yii\helpers\{
    Html, Url
};
use frontend\themes\defaults\assets\AppAsset;


$asset = AppAsset::register($this);
echo Html::beginTag('div', ['class' => 'search-block'])
    . Html::beginForm(Url::to(['/map/find/index']), 'get', ['id' => 'search-form', 'class' => 'search-form'])
    . Html::input('text', 'condition', '', [
        'class' => 'search-input', 'autocomplete' => 'off', 'id' => 'search-input', 'palceholder' => 'пошук'
    ])
    . Html::button('', ['class' => 'search-input-btn', 'type' => 'submit'])
    . Html::tag('ul', false, ['class' => 'res-search'])
    . Html::endForm()
    . Html::endTag('div');

$url = Url::toRoute('/map/find/ajax');
$token = Yii::$app->request->getCsrfToken();
$script = <<< JS

 // $('#search-query').bind("keypress", function(e) {
 //     if (e.keyCode == 13) {
 //         e.preventDefault();
 //
 //         var condition = $("#search-query").val();
 //         condition = condition.replace(/\ /g, '_');
 //         window.location.href = "/find/" + condition;
 //         return false;
 //     }
 // });

    $('#search-input').keyup(function(e) {
      if ($("#search-input").val().trim().length > 1){
          $.post({
                url: '$url',
                type: 'post',
                data: {
                    condition: $("#search-input").val().trim() ,
                    _csrf : '$token'
                }, success: function (data) {
                    $('.res-search').html(data.result);
                }
            });
      }
      else{
        $('.res-search').html('');
      }  
    });
    $('#search-form').on('submit', function (e) {
        if ($("#search-input").val().trim().length < 1){
             e.preventDefault();
        }
    });
    
JS;
$this->registerJs($script, yii\web\View::POS_READY);