Ash*_*osh 9 jquery autocomplete
我有一个用于使用jQuery自动完成功能进行搜索的文本框.当我在文本框中输入内容时,它会显示未选择任何内容的建议.
我发现现在不支持selectFirst:true.如果我在下拉列表中选择一个项目并按回车键,则表示正常.
问题是,如果用户输入 苹果应用程序并按下回车键,它会尝试使用应用程序提交表单.表单应仅使用下拉列表中的一个值提交.
我尝试在按Enter键时禁用表单提交,以便我可以从JavaScript提交表单但无法找到解决方案.
这是我的代码:
$("#searchtext").autocomplete({
source: path + 'autocompletesearch?category=' + $("select[name='category'] option:selected").val(),
width: '500px',
matchContains: true,
select: function(event, ui){
$(".searchform").attr("action", path + "fullproductinfo/" + ui.item.id);
$("input[name='searchid']").val(ui.item.value);
$(".searchform").submit();
}
});
Run Code Online (Sandbox Code Playgroud)
我的形式:
<form method="post" action="search" class="searchform">
<div class="searchdiv">
<input type="text" id="searchtext" name="searchtext"
placeholder="Search a product or a brand" autocomplete="off"/>
</div>
<div class="searchbutton">
<input type="button" name="btnsearchproduct" value="Search" />
</div>
<div class="clear"></div>
</form>
Run Code Online (Sandbox Code Playgroud)
请注意,有<input type='button''而不是'提交',因此默认输入按下不应该适用于表单.这是自动完成我猜是提交表单提交.
j80*_*809 14
如果你使用这个:http://jqueryui.com/autocomplete/
然后你想要第一个项目autoFocus,你现在可以使用该选项:
$( ".selector" ).autocomplete({ autoFocus: true });
Run Code Online (Sandbox Code Playgroud)
在文档中提到:http://api.jqueryui.com/autocomplete/
编辑
由于您输入了密钥问题,因此可以尝试这样:
$(".selector").keydown(function(event){
if(event.keyCode == 13) {
if($(".selector").val().length==0) {
event.preventDefault();
return false;
}
}
});
Run Code Online (Sandbox Code Playgroud)