在下面的屏幕截图中我显示城市列表列表,当我尝试输入“布里斯班”时,它显示名为“布里斯班”的城市和郊区列表。
现在我有以下用于自动完成功能的JavaScript。
function selectAutocomplete(e, t) {
switch (e.target.value = t.item.label, $("input#destinationId").val(""), $("input#hotel_id").val(""), $("input#region_id").val(""), t.item.type) {
case "1C":
break;
case "2S":
$("input#region_id").val(t.item.value);
break;
case "3D":
$("input#destinationId").val(t.item.value);
break;
case "4H":
$("input#hotel_id").val(t.item.value)
}
StopEvent(e)
}
$("input#keywords").bind("keydown", function (e) {
13 != e.keyCode && ($("#hotel_id").val(""), $("#destinationId").val(""), $("#region_id").val(""))
http://pastebin.com/ThVpLSvC处的完整JS代码 网站链接https://dev.ther8server.com(请原谅自签名SSL)
任何人都可以帮我自动填写文本框,也就是当有人最终输入布里斯班并点击搜索时,它应该自动click
(因为其他隐藏的字段也被填充)自动完成第一项并且应该填写名为Keywords
HTML代码
<input type="hidden" id="destinationId" name="destinationId" value=""/>
<input type="hidden" id="hotel_id" name="hotel_id" value=""/>
<input type="hidden" id="region_id" name="region_id" value=""/>
<input type="text" id="keywords" value="Enter destination or hotel name" placeholder="Enter destination or hotel name" name="keywords" class="ui-autocomplete-input" onfocus="this.value='';" autocomplete="off"/>
答案 0 :(得分:0)
在阅读完代码后,这是建议而不是答案:
将第一个值放在框中会触发逻辑问题,因为它会更改输入框值,因此,自动完成列表也会被更改。
要解决此问题,请使用jquery-ui自动完成:自动对焦。
要将自动对焦置于原位,请在第422行之后插入js:
autoFocus: true,