我有一个使用jQuery自动完成的搜索文本框。当我在文本框中输入内容时,它会显示一些建议,但没有选择任何一个。
我发现现在不支持selectFirst: true。如果我在下拉列表中选择了一个项目并按下回车键,则可以正常工作。
问题是,如果用户输入app来寻找苹果并按下回车键,它会尝试提交带有app的表单。表单应该只被提交与下拉列表中的一个值相匹配的值。
我尝试禁用按Enter键提交表单,以便我可以从JavaScript中提交表单,但是找不到解决方法。
这是我的代码:
请注意,这里使用的是
我发现现在不支持selectFirst: true。如果我在下拉列表中选择了一个项目并按下回车键,则可以正常工作。
问题是,如果用户输入app来寻找苹果并按下回车键,它会尝试提交带有app的表单。表单应该只被提交与下拉列表中的一个值相匹配的值。
我尝试禁用按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();
}
});
我的表单:
<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>
请注意,这里使用的是
<input type='button'
而不是'submit',所以默认的回车提交表单的功能不会生效。我猜是自动填充功能正在提交表单。
selectFirst
选项能够正常工作,那么默认情况下第一个选项是否被聚焦会怎样? - j809