gpt4 book ai didi

jquery - IE9 无法识别自动完成功能

转载 作者:行者123 更新时间:2023-12-01 05:57:54 25 4
gpt4 key购买 nike

我的问题是以下代码在 Firefox 和 Chrome 中工作正常,但在 IE9 中不起作用。它说位置未定义或为空。

我的自动完成代码如下:

$( "#id_location" ).autocomplete({
source: function( request, response ) {

$.ajax({
url: "{% url 'food.views.search_location' %}",
dataType: "json",
data:{
maxRows: 5,
starts_with: request.term,
},
success: function( data ) {
response( $.map( data.location, function( item ) {
return {
label: item.label,
value: item.value
}
}));
}
});
},
minLength: 1,

focus: function(event,ui){
//prevent value insert on focus
$("#id_location").val(ui.item.label);
return false; //Prevent widget from inserting value
},

select: function(event, ui) {
$('#id_location').val(ui.item.label);
$('#id_locationID').val(ui.item.value);
return false; // Prevent the widget from inserting the value.
},


});

我的后台代码如下:

def search_location(request):
"""
Jason data for location
search autocomplete
"""
q = request.GET['starts_with']
r = request.GET['maxRows']
ret = []
listlocation = USCities.objects.filter(name__istartswith=q)[:r]
for i in listlocation:
ret.append({'label':i.name+','+i.state.name+' '+i.state.abbr,'value':i.id})

ret = {'location':ret}
data = simplejson.dumps(ret)
return HttpResponse(data,
content_type='application/json; charset=utf8'
)

帮助将不胜感激!

最佳答案

您的问题在这一行:

starts_with: request.term,

这是对象结构中的最后一个元素,末尾有一个逗号。

这在 Javascript 中在技术上是非法的,但 IE 是唯一强制执行它的浏览器。这就是为什么您在 IE 中会出现错误,但在其他浏览器中不会出现错误。

同样的错误也发生在第 33 行(即几乎在代码末尾),其中在对象结构的末尾有一个右大括号,后跟一个非法逗号 },

如果您在 JSHint 等工具中验证代码,则很容易出现此错误。 .

希望有帮助。

关于jquery - IE9 无法识别自动完成功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11681626/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com