Проблема в том, что все выпадающие элементы невидимы. Автозаполнение работает, я получаю элементы, я могу их выбрать, тот, который вводит изменения в фокусе, курсор меняется на указатель при наведении на элемент в раскрывающемся списке. Я думаю, что это какая-то проблема css, но я не понял это через пару часов ...jQuery jsonp autocomplete невидимые выпадающие предметы
Bellow - мой аякс и автозаполнение. Некоторые комментарии: есть data.shift(), чтобы удалить первый элемент (переменная, которая мне нужна на следующем шаге, она не наносит никакого вреда). При выборе пары скрытых входов будет заполнено, в настоящее время один настроен и заполняется в порядке.
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
и JQuery:
$("#id_city").autocomplete({
delay: 1000,
minLength: 0,
source: function(request, response) {
$.ajaxSetup({
beforeSend: function(xhr, settings) {
function getCookie(name) {
var cookieValue = null;
if (document.cookie && document.cookie != '') {
var cookies = document.cookie.split(';');
for (var i = 0; i < cookies.length; i++) {
var cookie = jQuery.trim(cookies[i]);
// Does this cookie string begin with the name we want?
if (cookie.substring(0, name.length + 1) == (name + '=')) {
cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
break;
}
}
}
return cookieValue;
}
if (!(/^http:.*/.test(settings.url) || /^https:.*/.test(settings.url))) {
// Only send the token to relative URLs i.e. locally.
xhr.setRequestHeader("X-CSRFToken", getCookie('csrftoken'));
}
}
});
$.ajax({
url: '/country_auto/?country='+$("#id_country").val(),
dataType: "jsonp",
data: {
search:$('#id_city').val()
},
success: function(data) {
data.shift();
response(data);
}
});
},
focus: function(event, ui) {
$("#id_city").val(ui.item.city);
return false;
},
select: function(event, ui) {
$("#id_city").val(ui.item.city);
$('#id_latdeg').val(Number(ui.item.latdeg));
return false;
},
});
Строка JSON выглядит следующим образом:
([{"tz": "Europe/Bratislava", "city": "Handlova", "latmin": 43, "lon": "18E45",
"latdeg": "48"}, {"tz": "Europe/Bratislava", "city": "Hlohovec", "latmin": 25,
"lon": "17E48", "latdeg": "48"}, {"tz": "Europe/Bratislava", "city": "Humenne",
"latmin": 56, "lon": "21E54", "latdeg": "48"}])
Я думаю, что установка правильно, и она работает. Это просто выпадающие элементы не видны ... их можно выбрать, все работает, но их не видно ... У кого-нибудь есть идея, как это исправить?
'Я думаю, что это какая-то проблема с CSS. Так почему же вы не опубликовали соответствующую разметку CSS и HTML? –
Зачем вы это делаете? Это реализация из руководства jQuery, у меня нет пользовательских css, это только css, импортированное из jQuery. Не знаю, что я должен опубликовать ... Я даже не уверен, что такое имена элементов, потому что их довольно сложно поймать в Firebug .. они обрабатываются автокомплексной функцией. Я мало контролирую это. – Stefan
Мой плохой тогда! Вы должны предоставить онлайн-образец, который повторяет вашу проблему. –