我正在自动完成来自世界各地的场地,并且工作正常,但现在我希望该特定场地的地址位于下一行的场地名称。
如果我的自动填充功能正在将地址名称读取为ABCD,则在ABCD下面应该是该地点的地址。我可以返回场地的地址,但不知道如何把它放在这里。
我的javaScript
$("#venueName").autocomplete({
minLength: 3,
source: function(request, response) {
var city_lat = $('#city_lat').val();
var city_lon = $('#city_lon').val();
request.call = "auto_poi_ugc";
request.cityid = $('#eventCityId').val();
request.lat = city_lat;
request.lon = city_lon;
setTimeout(function() {
ajax_req = $.ajax({
url: "/ajaxcalls",
dataType: "json",
data: request,
success: function( data ) {
data.splice(venue_limit,data.length);
response( data );
}
});
}, 700);
},
select: function(event, ui) {
if(ui.item.value == "Loading..."){
return false;
}
if(ajax_req != undefined)
{
ajax_req.abort();
}
if(ui.item.value != '')
{
$('#venue_latitude').val(ui.item.latitude);
$('#venue_longitude').val(ui.item.longitude);
$('#primus_id').val(ui.item.id);
$('#event_venue_add').val(ui.item.add);
}
},
search: function(event, ui) {
if($(this).hasClass('error-border')){
$(this).removeClass('error-border');
}
},
});
答案 0 :(得分:1)
您可以通过在其中添加自动填充功能来实现它。
.autocomplete( "instance" )._renderItem = function( ul, item ) {
if(item.add == undefined){
item.add = "";
}
return $( "<li>" ).append( "<div>" + item.label + "</div><div class='v_address_auto'>" + item.add + "</div>" ).appendTo( ul );
};
http://jqueryui.com/autocomplete/#custom-data
您的代码将变为这样
$("#venueName").autocomplete({
minLength: 3,
source: function(request, response) {
var city_lat = $('#city_lat').val();
var city_lon = $('#city_lon').val();
request.call = "auto_poi_ugc";
request.cityid = $('#eventCityId').val();
request.lat = city_lat;
request.lon = city_lon;
setTimeout(function() {
ajax_req = $.ajax({
url: "/ajaxcalls",
dataType: "json",
data: request,
success: function( data ) {
data.splice(venue_limit,data.length);
response( data );
}
});
}, 700);
},
select: function(event, ui) {
if(ui.item.value == "Loading..."){
return false;
}
if(ajax_req != undefined)
{
ajax_req.abort();
}
if(ui.item.value != '')
{
$('#venue_latitude').val(ui.item.latitude);
$('#venue_longitude').val(ui.item.longitude);
$('#primus_id').val(ui.item.id);
$('#event_venue_add').val(ui.item.add);
}
},
search: function(event, ui) {
if($(this).hasClass('error-border')){
$(this).removeClass('error-border');
}
},
}).autocomplete( "instance" )._renderItem = function( ul, item ) {
if(item.add == undefined){
item.add = "";
}
return $( "<li>" ).append( "<div>" + item.label + "</div><div class='v_address_auto'>" + item.add + "</div>" ).appendTo( ul );
};