【问题标题】:Jquery Autocomplete onChange eventJquery 自动完成 onChange 事件
【发布时间】:2012-03-18 22:45:45
【问题描述】:

我的 php 页面中有一个列表菜单。在这个列表菜单中,我有一个 onChange 事件,你可以在下面看到。

<select name="company" onChange="getproduct(this)">

上述事件获取所选公司的产品名称。但现在我想将此列表菜单更改为自动完成。我尝试下面的代码,但它没有获取任何东西,任何人都可以帮助我 plz

<input type="text" name="company" id="company"  onkeyup="getproduct(this)"/>

【问题讨论】:

标签: php mysql jquery-ui


【解决方案1】:

一般来说,对 javascript 事件使用 html 属性是不好的做法。由于您无论如何都在使用 jQuery,因此您应该在外部脚本中执行以下操作:

$('#company').on('change keyup input', function() { getproduct(this); });

我现在把它分解。

$('#company') 选择 ID 为“公司”的元素。这使您可以通过更改或附加事件侦听器来使用 javascript 处理该对象。

.on(...) 将事件侦听器附加到选定对象。它可以用几种不同的方式使用,但最基本的方式(这就是我们在这里使用它的方式),它有两个参数,第一个是要侦听的以空格分隔的事件列表,第二个是回调函数在所选元素上发生这些事件时执行。

change 是当输入元素改变了它的值然后失去焦点时触发的事件。如果用户没有通过键入(可能通过上下文菜单粘贴)更改输入,这可能是一个有用的事件。

keyup 是一个按键被按下然后释放时触发的事件。另见keydown 和keypress。

input 是一个很酷的新 HTML5 事件,旨在监听用户对元素的输入。这很重要,因为它是专为您要完成的任务而设计的。 (值得注意的是,当在数字输入类型上单击微调器箭头按钮时会触发 input 事件。)您仍然希望使用其他事件作为备用事件,以防用户浏览器不支持 input 事件。

【讨论】:

  • 感谢一百万您的详细回答,我试了一下,但它不适用于 KeyUp、KeyDown 和 KeyPress
  • 确保keyup、keydown 和keypress 使用全部小写字母。
【解决方案2】:
$('#company').change(function(){
  getproduct(this);
});

这里是 .change 事件http://api.jquery.com/change/的 jquery 文档的链接

【讨论】:

    猜你喜欢
    • 2016-07-09
    • 2012-11-16
    • 2023-03-28
    • 1970-01-01
    • 2021-04-08
    • 1970-01-01
    • 2018-12-07
    • 2011-12-05
    • 2014-11-19
    相关资源
    最近更新 更多