jQuery自动完成ON多个字段以及TO多个字段

时间:2013-07-13 17:47:00

标签: jquery autocomplete

如果输入字段(从mySQL生成)都需要相同的查找,我试图在页面上使用自动完成功能。 单个自动填充只使用

$( "#surname" ).autocomplete({
source: "search.php",

所以我想做...

$( "input" ).autocomplete({
source: "search.php",

这很好但是我的查询查询返回第二个变量,我需要将其放入表单上的另一个字段。查找字段和其他字段具有相关名称e.f. bar2和bar3email。使用“输入”选项,我如何判断哪个字段生成了查找,以便我可以计算出我想要第二个变量的字段名称?

试图更简单地说,如果我在名为'bar2'的字段中进行自动完成并用名称填充它,我希望将第二个返回的变量(相关的电子邮件)放在名为'bar2email'的字段中。

感谢
史蒂夫

2 个答案:

答案 0 :(得分:0)

提供回调函数以将select事件作为init选项处理或绑定到select事件。请参阅有关select事件的api文档。

select事件将传递event个对象。事件对象具有名为target的属性。您可以使用此属性来确定启动事件的DOM元素。像这样的东西会起作用。

$( "input" ).autocomplete({
source: "search.php",
select: function(event,ui){
         var targetFieldId = event.target.id; //get id of DOM element ie bar2
         var relatedField = document.getElementById(targetFieldId+'email'); //get related field
         relatedField.val(ui.item.value);  // assuming second varible is value
        }
});

答案 1 :(得分:0)

感谢。 实现我可以用
识别触发字段 $(本).attr( 'ID')
所以这......

$( 'input[type=text].ck' ).autocomplete({  
source: "search.php",  
minLength: 1,  
delay: 250,  
select: function( event, ui ) {  
var destfield = '#' + $(this).attr('id') + 'mail';  
log(destfield, ui.item.Email);  
}  
});  

...从自动完成(ui.item.Email)返回项目以及触发它的变量的id(destfield,派生自$(this).attr('id'))