Jquery自动完成onChange事件

时间:2012-03-18 14:33:31

标签: php mysql jquery-ui

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

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

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

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

2 个答案:

答案 0 :(得分:4)

一般来说,对javascript事件使用html属性是不好的做法。既然你正在使用jQuery,你应该在外部脚本中做这样的事情:

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

我现在就把它分解。

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

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

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

keyup是按下然后释放按键时触发的事件。另请参阅keydownkeypress

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

答案 1 :(得分:1)

$('#company').change(function(){
  getproduct(this);
});

这是.change事件http://api.jquery.com/change/

的jquery文档的链接