【问题标题】:jQuery autocomplete ON multiple fields as well as TO multiple fieldsjQuery自动完成多个字段以及多个字段
【发布时间】:2013-07-12 01:05:32
【问题描述】:

我正在尝试在具有大量输入字段(从 mySQL 生成)的页面上使用自动完成功能,这些字段都需要相同的查找。
单个自动完成只使用

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

所以我想这样做..

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

这很好,但是我的查找查询返回了第二个变量,我需要将其放入表单的另一个字段中。查找字段和其他字段具有相关名称 e.f. bar2 和 bar3 电子邮件。使用“输入”选项,我如何知道哪个字段生成了查找,以便我可以计算出我希望第二个变量去哪里的字段名称?

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

谢谢
史蒂夫

【问题讨论】:

    标签: jquery autocomplete


    【解决方案1】:

    提供一个回调函数来处理选择事件作为初始化选项或绑定到选择事件。有关选择事件,请参阅 api 文档。

    选择事件将传递一个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
            }
    });
    

    【讨论】:

      【解决方案2】:

      谢谢。 意识到我可以用
      识别触发场 $(this).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') )

      【讨论】:

        猜你喜欢
        • 2013-04-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-05-18
        • 1970-01-01
        • 1970-01-01
        • 2015-01-22
        • 2016-07-09
        相关资源
        最近更新 更多