jquery ui自动完成function自动关闭

我使用jquery ui来实现自动完成。 mY代码看起来像这样

$(function(){ $('input[name=store]').attr('autocomplete','on'); $( "input[name=store]" ).autocomplete({ source: function( request, response ) { //alert('hello'); $.ajax({ url: "http://localhost/dheeps/admin/calls/callback.php", dataType: "jsonp", data: { sub:"searchstore", store: request.term }, success: function( data ) { //alert('hello'); response( $.map( data.data, function( item ) { //alert(item); return { label: item.name + (item.id1 ? ", " + item.adminName1 : "") + ", " + item.id, value: item.id } })); } }); }, minLength: 2, select: function( event, ui ) { }, open: function() { $( this ).removeClass( "ui-corner-all" ).addClass( "ui-corner-top" ); //alert('helo'); }, close: function() { $( this ).removeClass( "ui-corner-top" ).addClass( "ui-corner-all" ); } }); }); 

并且在表单的html中我发现输入的元素autocomplete属性设置为off。 这就是我的代码无效的原因。 请指导我

放在下面

 $('input[name=store]').attr('autocomplete','on'); 

在这之后

  $( "input[name=store]" ).autocomplete({}); 

因为autocomplete属性会在初始化后添加到元素中。

感谢您提供此信息。 这解决了这个问题。 我认为一个简单的测试示例没有问题,这很奇怪。 然后,当我把它放入一个大项目时,它会自动被禁用。

 $(function () { var availableTags = ["One", "Two", "Three"]; $("#myinput").autocomplete({ source: availableTags }); $("#myinput").attr('autocomplete', 'on'); });