2013-06-19 3 views
1

Я использую datalist для моего автозаполнение поле. Его работа прекрасна. У меня есть значения james, reeta и mary в моем списке, если я вхожу в «r» в моей автоматической коробке, он возвращает значения reeta и mary, потому что mary также содержит букву «r». но я не хочу, чтобы мой авто полностью работал так. я просто хочу только reeta not mary Это означает значения, которые имеют введенную букву как начальную букву.Выберите значение только с буквой, начиная письмо в автозаполнении datalist

+0

Я нашел это странно, что автозаполнение datalist работает так, как вы требовали, то есть при входе 'r' он показывает только reeta и не женится на Chrome и IE-10 (более низкая версия IE не поддерживает datalist), в то время как только Mozilla Firefox отображает как reeta, так и mary, р'. Пожалуйста, поделитесь, если вы выяснили, что в этом причина. –

ответ

1

Используйте source возможность реализовать свой собственный поиск:

var dataSource = ['mary', 'reeta', 'james']; 

$("input").autocomplete({ 
    minLength: 1, 
    source: function(request, response) { 

     var matcher = new RegExp('^' + $.ui.autocomplete.escapeRegex(request.term), "i"); 
     var filteredData = $.grep(dataSource, function(value) { 
      return matcher.test(value.label || value.value || value); 
     }); 
     response(filteredData); 
    } 
}); 

пример http://jsfiddle.net/AU92X/8/

Или вы можете даже сделать его глобальным, просто переписав $.ui.autocomplete.escapeRegex:

var dataSource = ['mary', 'reeta', 'james']; 

$("input").autocomplete({ 
    minLength: 1, 
    source: dataSource 
}); 

var escapeRegexp = $.ui.autocomplete.escapeRegex; 
$.extend($.ui.autocomplete, { 
    escapeRegex: function(value) { 
     return '^' + escapeRegexp(value); 
    } 
}); 

пример http://jsfiddle.net/AU92X/10/

+0

Привет, Claustrofob, Он работает отлично для меня ... Спасибо, что так много ... Я использовал функцию $ .ui.autocomplete.escapeRegex ... Большое спасибо .. –

+0

@SangeethaKrishnan только заметила, что вопрос был о html5 datalist =) Рад, что мой ответ помог. – claustrofob

+0

ya но я бросил идею с помощью списка данных .. Я просто использовал автозаполнение без datalist, так как сказал ... –

Смежные вопросы