Javascript jquery在select上呈现项目时自动完成显示错误未捕获类型错误:无法读取属性';价值';未定义的
我编写了这段代码,当我不渲染数据,但使用.autocomplete(“实例”)时,每件事都能正常工作。\u renderItem或ui autocomplete renderItem在单击下拉列表时显示错误未捕获类型错误:无法读取未定义的属性“值”和未捕获类型错误:无法读取未定义的属性“标签”Javascript jquery在select上呈现项目时自动完成显示错误未捕获类型错误:无法读取属性';价值';未定义的,javascript,jquery,autocomplete,jquery-ui-autocomplete,Javascript,Jquery,Autocomplete,Jquery Ui Autocomplete,我编写了这段代码,当我不渲染数据,但使用.autocomplete(“实例”)时,每件事都能正常工作。\u renderItem或ui autocomplete renderItem在单击下拉列表时显示错误未捕获类型错误:无法读取未定义的属性“值”和未捕获类型错误:无法读取未定义的属性“标签” $(function () { $("#search-text").autocomplete({ source: function (request, response) {
$(function () {
$("#search-text").autocomplete({
source: function (request, response) {
$.ajax({
url: SITEURL + 'activities/searchAll/' + request.term + "/" + $('#h_date').val(),
type: "post",
dataType: "json",
async: true,
data: {
term: request.term,
dateRange: $('#h_date').val()
},
success: function (data) {
$('#search-text').removeClass('ui-autocomplete-loading');
if (!data.length) {
var result = [
{
label: 'No Matches Found!',
value: response.term
}
];
response(result);
}
else {
response($.map(data, function (item) {
var searchType = item.searchType;
if (searchType == 'DESTINATION' && item.destinationName !== undefined) {
return{
label: item.destinationName,
value: item.destinationId,
destinationId: item.destinationId,
type: item.searchType,
parentId: item.parentId,
destinationType: item.destinationType,
destinationUrlName: item.destinationUrlName,
searchType: item.searchType,
img: SITEURL + 'assets/img/location.png',
icon: SITEURL + 'assets/img/location.png',
url: SITEURL + 'destination/' + item.destinationName + '/' + "d" + item.destinationId
}
} else if (searchType == 'ATTRACTION' && item.title !== undefined) {
return{
label: item.title,
value: item.seoId,
type: item.seoType,
img: item.thumbnailURL,
icon: item.thumbnailURL,
pageUrlName: item.pageUrlName,
primaryDestinationName: item.primaryDestinationUrlName,
primaryDestinationId: item.primaryDestinationId,
attractionCity: item.attractionCity,
attractionState: item.attractionState,
pageTitle: item.pageTitle,
searchType: item.searchType,
img:item.thumbnailURL,
// url: SITEURL + 'attraction/' + item.primaryDestinationUrlName + '/' + item.pageUrlName + '/' + "d" + item.destinationId + "-a" + item.seoId
url: SITEURL + 'tours/' + item.primaryDestinationUrlName + '/' + item.pageUrlName + '/' + "d" + item.destinationId + "-a" + item.seoId
}
} else {
if (item.title !== undefined) {
return{
label: item.title,
value: item.code,
type: item.searchType,
img: item.thumbnailURL,
icon: item.thumbnailURL,
productUrlName: item.productUrlName,
primaryDestinationName: item.primaryDestinationName,
primaryDestinationUrlName: item.primaryDestinationUrlName,
primaryDestinationId: item.primaryDestinationId,
productUrlName: item.productUrlName,
searchType: item.searchType,
price: item.price,
url: SITEURL + 'tours/' + item.primaryDestinationUrlName + '/' + item.productUrlName + '/' + "d" + item.primaryDestinationId + "-p" + item.code
}
}
}
}));
}
},
error: function (jqXHR, exception) {
$('#search-text').removeClass('ui-autocomplete-loading');
var msg = '';
if (jqXHR.status === 0) {
msg = 'Not connect.\n Verify Network.';
} else if (jqXHR.status == 404) {
msg = 'Requested page not found. [404]';
} else if (jqXHR.status == 500) {
msg = 'Internal Server Error [500].';
} else if (exception === 'parsererror') {
msg = 'Requested JSON parse failed.';
} else if (exception === 'timeout') {
msg = 'Time out error.';
} else if (exception === 'abort') {
msg = 'Ajax request aborted.';
} else {
msg = 'Uncaught Error.\n' + jqXHR.responseText;
}
}
});
},
minLength: 2,
select: function (event, ui) {
event.preventDefault();
alert(ui.item.label);
$(this).val(ui.item.label);
if (ui.item.url !== '') {
window.open(ui.item.url, "_blank");
}
return false;
}
})
.autocomplete( "instance" )._renderItem = function( ul, item ) {
if (item.price !== undefined) {
price = "Price INR " + Math.round(RATES*item.price);
} else {
price = " ";
}
if(item.searchType=='DESTINATION'){
return $("<li>")
.data( "ui-autocomplete-item", item )
.append("<div class='list_item_container'><i class='fa fa-map-marker' aria-hidden='true' style='float:left;padding-right:2px;'></i><label>" + item.label + "<br>" + price + "</label></span></div>")
.appendTo(ul);
}else{
return $("<li>")
.data( "ui-autocomplete-item", item )
.append("<div class='list_item_container'><img src='" + item.img + "'style='float:left;padding-right:2px;'><span class='search-label'>" + item.label + "<br>" + price + "</span></div>")
.appendTo(ul);
}
};
});
$(函数(){
$(“#搜索文本”)。自动完成({
来源:功能(请求、响应){
$.ajax({
url:SITEURL+'activities/searchAll/'+request.term+“/”++$('h#u date').val(),
类型:“post”,
数据类型:“json”,
async:true,
数据:{
期限:request.term,
日期范围:$('h#u date').val()
},
成功:功能(数据){
$(“#搜索文本”).removeClass('ui-autocomplete-load');
如果(!data.length){
var结果=[
{
标签:“未找到匹配项!”,
值:response.term
}
];
反应(结果);
}
否则{
响应($.map)(数据、功能(项){
var searchType=item.searchType;
if(searchType=='DESTINATION'&&item.destinationName!==未定义){
返回{
标签:item.destinationName,
值:item.destinationId,
destinationId:item.destinationId,
类型:item.searchType,
parentId:item.parentId,
destinationType:item.destinationType,
destinationUrlName:item.destinationUrlName,
searchType:item.searchType,
img:SITEURL+'assets/img/location.png',
图标:SITEURL+“assets/img/location.png”,
url:SITEURL++'destination/'+item.destinationName++'/'++“d”+item.destinationId
}
}else if(searchType=='ATTRACTION'&&item.title!==未定义){
返回{
标签:item.title,
值:item.seoId,
类型:item.seoType,
img:item.thumbnailURL,
图标:item.thumbnailURL,
pageUrlName:item.pageUrlName,
primaryDestinationName:item.primaryDestinationUrlName,
primaryDestinationId:item.primaryDestinationId,
吸引城市:item.attractionCity,
attractionState:item.attractionState,
pageTitle:item.pageTitle,
searchType:item.searchType,
img:item.thumbnailURL,
//url:SITEURL+'attraction/'+item.primaryDestinationUrlName+'/'+item.pageUrlName+'/'++“d”+item.destinationId+“-a”+item.seoId
url:SITEURL+'tours/'+item.primaryDestinationUrlName+'/'+item.pageUrlName+'/'++“d”+item.destinationId+“-a”+item.seoId
}
}否则{
如果(item.title!==未定义){
返回{
标签:item.title,
值:item.code,
类型:item.searchType,
img:item.thumbnailURL,
图标:item.thumbnailURL,
productUrlName:item.productUrlName,
primaryDestinationName:item.primaryDestinationName,
primaryDestinationUrlName:item.primaryDestinationUrlName,
primaryDestinationId:item.primaryDestinationId,
productUrlName:item.productUrlName,
searchType:item.searchType,
价格:item.price,
url:SITEURL+'tours/'+item.primaryDestinationUrlName+'/'+item.productUrlName+'/'+“d”+item.primaryDestinationId+“-p”+item.code
}
}
}
}));
}
},
错误:函数(jqXHR,异常){
$(“#搜索文本”).removeClass('ui-autocomplete-load');
var msg='';
if(jqXHR.status==0){
msg='未连接。\n验证网络';
}else if(jqXHR.status==404){
msg='未找到请求的页面。[404]';
}else if(jqXHR.status==500){
msg='内部服务器错误[500]。';
}else if(异常==='parserrror'){
msg='请求的JSON解析失败';
}else if(异常==”时间