nikhil8085 Ответов: 2

Очистка опережающего ввода, если значение выбирается из выпадающего jQuery и AJAX с


Я использую typeahead.js как автозаполнение текстового поля.

когда я ввожу и выбираю значение из предложений, textbox и hiddenfield устанавливают его правильно. Но когда я ввожу значение и теряю фокус textbox без выбора значения textbox и значения hiddenfield, это missmatch.

Как очистить значение текстового поля и скрытого поля, если входное значение Не выбрано из предложений?

Что я уже пробовал:

$(function () {
    $('#txtCustomer').typeahead({
        hint: true,
        highlight: true,
        minLength: 1,
        source: function (request, response) {
            $.ajax({
                url: '/Customer.aspx/GetCustomers',
            data: "{ 'prefix': '" + request + "'}",
            dataType: "json",
            type: "POST",
            contentType: "application/json; charset=utf-8",
            success: function (data) {
                items = []; map = {};
                var obj = JSON.parse(data.d);
                $.each(obj.Data, function (i, value) {
                    map[name] = { id: value.CustomerID, name: value.FullName };
                    items.push(map[name]);
                });
                response(items);
            },
            error: OnError,
            failure: OnError,
        });
    },
    updater: function (item) {
        $('#hfCustomerId').val(item.id);
        return item;
    }
});
});

2 Ответов

Рейтинг:
2

Member 14473246

использование "опережающего ввода:рядом", а не "опережающего ввода:закрытые"
видеть typeahead.js/jquery_typeahead.md в master · twitter/typeahead.js · GitHub[^]


Рейтинг:
0

Ehsan Sajjad

Как насчет добавления closed событие в конце, как показано ниже:

.on("typeahead:closed",function() {
alert("Dropdown Closed!");
 $('#hfCustomerId').val('');
 $('#txtCustomer').val('');
});


Обратитесь к следующей скрипке:

Демо-Скрипка


Laxmidhar tatwa technologies

Да в приведенной выше функции текстовое поле должно быть очищено

nikhil8085

не работает на меня :(

Ehsan Sajjad

Проверьте консоль браузера на наличие любых ошибок js

nikhil8085

не получая никаких ошибок.

nikhil8085

Мой обновленный код но мне не повезло

$(функция () {
$('#txtCustomer').typeahead({
подсказка: верно,
изюминка: правда,
минимальная длина: 1,
источник: функция (запрос, ответ) {
$.Аякс({
URL-адрес: '/поддержки.aspx-и метод getcustomers',
данные: "{ 'prefix': '" + request + "'}",
тип данных: "json",
тип: "почта",
contentType: "application/json; charset=utf-8",
успех: функция (данные) {
items = []; map = {};
ВАР параметр obj = json-файле.синтаксический анализ(данных.д);
$.каждый(объект.Данных, функция (Я, значение) {
map[name] = { id: value.CustomerID, name: value.Полное имя };
предметы.нажимаем(карта[имя]);
});
ответ(пункты);
},
ошибка: OnError,
отказ: OnError,
});
},
обновление: функция (пункт) {
$('#hfCustomerId').val(item.id);
возврат товара;
}
});
}).on("typeahead:closed",функция() {
alert("выпадающий список закрыт!");
$('#hfCustomerId').val(");
$('#txtCustomer').val(");
});

Ehsan Sajjad

вы видите эту тревогу ?

nikhil8085

- нет! машинописный:закрытая не вызывает, не знаю почему..