問題是,所有的下拉項目都是不可見的。自動完成的作品,我得到的項目,我可以選擇它們,焦點的輸入變化,光標更改爲懸停在下拉項目上的指針。我認爲這是一些CSS問題,但我還沒有想象它在幾個小時內...jQuery jsonp自動完成無形下拉項目
Bellow是我的ajax和自動完成。一些評論:有一個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標記有問題? – 2014-12-07 15:45:14
爲什麼你低估這個?這是一個來自jQuery手冊的實現,我沒有任何自定義css,它只是從jQuery導入的css。不知道我應該發佈什麼...我甚至不知道元素名稱是什麼,因爲它很難在Firebug中捕獲它們。它們由自動完成功能處理,我對此無法控制。 – Stefan 2014-12-07 15:48:35
我的不好!你應該提供在線樣本,其中複製你的問題 – 2014-12-07 15:51:19