我有一个输入框
<input type="text" name="search" id="search" />
<img src="icon.png" alt="" id="doSearch" />
我使用Jquery,我有“doSearch”的onclick事件。因此,当我输入一些像“ab”之类的单词并单击“icon”时,它会向php文件发送一个ajax请求,并将结果附加到dom中。
$('#doSearch').click(function() {
$(".showResults").show("fast");
var input_text = $('input[name="search"]').val(); //retrieve text
$.ajax({
method: "get" ...
... some more lines
}) etc etc
我想知道如何在输入框中输入一些字符时自动触发onclick功能,以便用户无需点击图像图标即可获得结果。另外,当我在输入框中按Tab键时,如何将焦点设置在图像图标上。
非常感谢你的帮助。
编辑:
我也有一些其他输入框也是同样的形式。因此,此输入与堆栈溢出标记输入有些相似。
答案 0 :(得分:2)
那样的东西?
$('#doSearch').keyPress(function(e){ if($(this).val()=='??') $('#doSearch').trigger('click') });
答案 1 :(得分:2)
这样做的正确方法是:
<form id='search'>
<input type="text" name="search" id="search" />
<input type="image" src="icon.png" />
</form>
这样,图像将成为表单的提交按钮,每当用户按输入时,表单的提交事件将被触发,您可以按照自己的意愿行事。
这就是你如何做jQuery:
$('#search').submit(function() {
// do what you were doing
return false; // prevent form submission
});
这对于禁用Javascript的人友好也具有优势,因为您可以检查服务器是否不是AJAX请求,并且可能显示包含所请求内容的整页。我很确定这也会使 TAB 进入图像。