Возврат результатов не найден в автозаполнении - PullRequest
0 голосов
/ 21 ноября 2018

Как мне вернуть метку без результатов в автозаполнении, если нет совпадений с данными, в настоящее время они просто ничего не показывают ..

вот мой текущий код: HTML:

{!! Form::open(['route' => 'search.index', 'method' => 'GET']) !!}
            <div class="col-md-9">
            {!! Form::text('searchlocation', null, array('class' => 'form-control', 'maxlength' =>'55', 'placeholder' => 'Eg. England, London or Sports', 'id' => 'sl')) !!}
            </div>
            {!! Form::hidden('country', null, array('id' => 'country')) !!}
            {!! Form::hidden('city', null, array('id' => 'city')) !!}
            <div class="col-md-3">
                {!! Form::submit('Find Sights', array('class' => 'btn btn-homepage-search'))  !!}
            </div>
            {!! Form::close() !!}

JS:

$('#sl').autocomplete({
    source: '/autocomplete',
    select: function(event, ui) {
        event.preventDefault();
        $("#country").val(ui.item.country); 
        $("#city").val(ui.item.value); 
        $('#sl').val(ui.item.label);
    },
    focus: function(event, ui){
        event.preventDefault();
        $('#sl').val(ui.item.label);
    },

})

Ответы [ 2 ]

0 голосов
/ 21 ноября 2018

вы можете использовать проверку на стороне клиента, чтобы показать, что записи не найдены.пожалуйста, посмотрите ниже.

$(function() {
    $("#SearchUser").autocomplete({
        source: function(request, response) {
            $.ajax({
                url: "http://api.stackexchange.com/2.1/users",
                data: {
                    site: 'stackoverflow',
                    inname: request.term
                },
                dataType: 'jsonp'
            }).done(function(data) {
                if (data.items) {
                    response($.map(data.items, function(item) {
                        console.log(item);
                        return item.display_name + " " + item.location;
                    }));
                }
            });
        },
        minLength: 1,
        response: function(event, ui) {
            if (!ui.content.length) {
                var message = { value:"",label:"No records found" };
                ui.content.push(message);
            }
        }
    });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://code.jquery.com/ui/1.9.0/jquery-ui.js"></script>
<link href="http://code.jquery.com/ui/1.9.0/themes/base/jquery-ui.css" rel="stylesheet"/>
<label for="SearchUser">StackOverflow user:</label>
<input id="SearchUser" type="text" />

.

0 голосов
/ 21 ноября 2018

Вы можете установить это в php как:

if(count($usersArray) < 1){
        $usersArray[] = array(
            "label" => "No Result",
            "value" => "-1",
            "country" => "-1"
        );
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...