在Jquery中选择第一个搜索项而不单击它
Select first search item without clicking to it in Jquery
你好,我有一个html文件,它有几个输入,当在自动完成上选择匹配项目时,这些输入会自动填充
我的html文件是:
<table class="table table-bordered">
<ul>
<li><label>Barcode</label>
<input class="form-control" type='text' id='barcodescanr' name='barcodescanr' />
</li>
<li><label>Surname </label>
<input class="form-control" type='text' id='surname_1' name='surname' required/>
</li>
<li>
<label>Name</label>
<input class="form-control" type='text' id='name_1' name='name' required/>
</li>
<li><label>Company Name</label>
<input class="form-control" type='text' id='company_name_1' name='company_name' required/>
</li>
</ul>
</table>
我的搜索看起来像这个
填充输入字段的自动完成是这样的,它通过条形码扫描工作
$('#barcodescanr').autocomplete({
source: function( request, response ) {
$.ajax({
url : 'ajax.php',
dataType: "json",
method: 'post',
data: {
name_startsWith: request.term,
type: 'barcodescanr',
row_num : 1
},
success: function( data ) {
response( $.map( data, function( item ) {
var code = item.split("|");
return {
label: code[0],
value: code[0],
data : item
}
}));
}
});
},
autoFocus: true,
minLength: 3,
select: function( event, ui ) {
var names = ui.item.data.split("|");
$('#name_1').val(names[2]);
$('#company_name_1').val(names[3]);
$('#surname_1').val(names[1]);
$('#firm_1').val(names[4]);
$('#info').val(names[5]);
$('#scanbartime').val(names[6]);
$('#id').val(names[7]);
$('#custId').val(names[8]);
},
open: function() {
$( this ).removeClass( "ui-corner-all" ).addClass( "ui-corner-top" );
},
close: function() {
$( this ).removeClass( "ui-corner-top" ).addClass( "ui-corner-all" );
}
});
我如何在不点击的情况下从自动完成中选择第一个匹配的条形码?感谢
尝试这个
$('#barcodescanr').change(function(){
$('#ui-id-1 li:first-child').trigger('click');
});
或者当用户停止写入时
//setup before functions
var typingTimer; //timer identifier
var doneTypingInterval = 2000; //time in ms, 2 second for example
var $input = $('#barcodescanr');
//on keyup, start the countdown
$input.on('keyup', function () {
clearTimeout(typingTimer);
typingTimer = setTimeout(doneTyping, doneTypingInterval);
});
//on keydown, clear the countdown
$input.on('keydown', function () {
clearTimeout(typingTimer);
});
//user is "finished typing," do something
function doneTyping () {
$('#ui-id-1 li:first-child').trigger('click');
}
根据自己的喜好使用doneTypingInterval
的值。
$('.table-bordered ul li:first-child').click();
相关文章:
- 如何在单击按钮时使用instantsearch.js启动搜索
- 单击时在搜索输入上附加文本
- 如何在第一次单击后禁用搜索按钮,直到结果来自服务器
- 当我单击chrome的输入类型=搜索元素上的X时,是否触发了任何事件
- jQuery在多个表中搜索文本,如果找到文本,则单击按钮
- 单击搜索结果分区时停止聚焦
- 尝试在“单击”或“聚焦”GCSE搜索表单输入时触发jquery事件
- 如何使搜索框中的单词可单击以使用 jquery 删除它们
- 单击输入类型=搜索时重置按钮的任何事件
- 单击搜索按钮后如何显示搜索详细信息
- 如何在单击搜索时复制模式 css3 动画效果
- 使用谷歌地点搜索框.如何通过单击按钮启动搜索
- 脚本不适用于搜索页面并单击链接
- 如何在单击或输入时获取搜索栏中的信息.然后将其粘贴到另一页上的另一个输入中
- 为什么当用户单击搜索按钮时屏幕会弹出
- 使用局部视图将单击搜索转换为即时搜索
- 如何在单击搜索按钮并在同一页面上打印结果后同时保留搜索查询框和字母搜索
- 单击搜索框时会出现光标
- 单击搜索栏时更改搜索栏的位置
- 当使用AngularJS单击搜索结果时,将输入重置为初始值