autocomplete выводит список не там
Добрый день.
Пытаюсь сделать список для автозаполнения:
$(function() {
$( "#userSearch" ).autocomplete({
source: function(request, response){
$.post("/usr/friends/listUserSearchAjax", {data:request.term}, function(data){
response($.map(data, function(item) {
return {
label: item.label,
value: item.label,
id: item.id
}
}))
}, "json");
},
minLength: 2,
cache: false
});
});
<input type="text" name="search" id="userSearch"> Сервер возвращает:
[{"label":"orange","id":"l_25"},{"label":"apple","id":"l_38"},{"label":"banana","id":"l_44"}]
Список появляется, но совсем в другом месте и совсем не оформленный. Над самим инпутом появляется надпись о готовности: "3 results are available, use up and down arrow keys to navigate." Подскажите, пожалуйста, что я делаю не правильно? |
culver,
откуда вы взяли строку 9 ? |
убрал 9 строку с запятой перед ней - не помогло
|
Надпись "3 results are available, use up and down arrow keys to navigate." убрал с помощью
.ui-helper-hidden-accessible {
display: none;
}
в стилях, а список так нормально и не отображается |
culver, смотрите что у вас не так ...для теста пишем or выбираем orange вставляется l_25
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>autocomplete demo</title>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css">
<script src="http://code.jquery.com/jquery-1.10.2.js"></script>
<script src="http://code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
</head>
<body>
<label for="autocomplete">Select: </label>
<input id="userSearch">
<script>
var data = [{"label":"orange","id":"l_25"},{"label":"apple","id":"l_38"},{"label":"banana","id":"l_44"}];
$( "#userSearch" ).autocomplete({
source: function( request, response ) {
response($.map(data, function(item) {
return {
label: item.label,
value: item.id
}
}))
},
minLength: 2,
cache: false
});
</script>
</body>
</html>
|
Ну почему же
Цитата:
у меня value: item.label. Названия выводятся нормально, но выводятся не там где нужно. Ковыряюсь дальше и обнаружил, что ширина списка, почему то, вы ставляется 1807px. Вот что формируется: <ul class="ui-autocomplete ui-front ui-menu ui-widget ui-widget-content ui-corner-all" id="ui-id-1" tabindex="0" style="width: 1807px; position: relative; top: 195px; left: 415px;"> <li class="ui-menu-item" role="presentation"> <a id="ui-id-2" class="ui-corner-all" tabindex="-1">orange</a> </li> <li class="ui-menu-item" role="presentation"> <a id="ui-id-3" class="ui-corner-all" tabindex="-1">apple</a> </li> <li class="ui-menu-item" role="presentation"> <a id="ui-id-4" class="ui-corner-all" tabindex="-1">banana</a> </li> </ul> |
culver,
если с данными всё в порядке смотрите структуру вашего html и css - что и как у вас формируется видно только вам |
Но ведь стиль элемента ul формирует сам плагин. Я имею ввиду строку
style="width: 1807px; position: relative; top: 195px; left: 415px;"Кроме того, скомпилированная высота первого li составляет 163, хотя где это указано в коде я не найду. |
Цитата:
#userSearch {
width: 100%;
}
|
Это у меня стоит, но это стиль инпута, а у меня список расплывается.
|
culver,
используйте своё оформление если ненравится подстойка плагина к вашему css |
| Часовой пояс GMT +3, время: 12:13. |