用户输入关键字时如何触发onclick功能? jQuery的

时间:2009-06-27 09:07:44

标签: javascript jquery html

我有一个输入框

<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键时,如何将焦点设置在图像图标上。

非常感谢你的帮助。

编辑:

我也有一些其他输入框也是同样的形式。因此,此输入与堆栈溢出标记输入有些相似。

2 个答案:

答案 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 进入图像。