【问题标题】:Make a delegated jQuery Auto-complete使委托的 jQuery 自动完成
【发布时间】:2016-01-28 13:58:06
【问题描述】:

我正在使用以下代码创建一个自动完成文本框。 jQuery如下。

$(function() {
   $( "#items .slno" ).autocomplete({
      source: 'search.php'
   });
}); 

HTML 如下。

<table id="items">
     <tr class="item-row">
            <td class="item-name"><div class="delete-wpr"><a class="delete" href="javascript:;" title="Remove row">-</a></div></td>
            <td><input type="text" id="slslno" class="slno"/></td>
            <td><input type="text" class="cost"/></td>
            <td><input type="text" class="qty"/></td>
            <!--  <td><span class="price"></span></td>-->
            <td class="price"></td>
            <a class="add" id="addrow" href="javascript:;" title="Add a row">+</a> </tr>

</table>

自动完成功能适用于第一行。但是,当通过单击上述代码中的“添加行”按钮创建第二行时(一切正常),Auto_complete 只是不适用于后续行。我整理出我需要一个委派的处理程序。那么如何将我当前的 jQuery 选择器转换为委托的选择器?

我根据答案写了如下,但它仍然无法正常工作。

   $('#items').delegate('#items .slno','keyup', function () {   

  $(this).autocomplete({
         source: 'search.php'
    });

  });

然后我继续使用以下内容。

  $(function(){
  $('#items').on('.slno','keyup.autocomplete', function(){
    $(this).autocomplete({
      source : 'search.php'
    });
  });
});

它也失败了。我如何做到这一点?

更新

在上面的例子中,事件的顺序是混乱的。只需要使用正确的语法

$(selector).on(event,childSelector,data,function,map)

这使我的代码如下所示。

  $(function(){
  $('#items').on('keyup.autocomplete','.slno', function(){
    $(this).autocomplete({
      source : 'search.php'
    });
  });
});

它完成了任务!!!

【问题讨论】:

  • class="slno" 未在其他列实现
  • 我没明白你想说什么
  • 类,如果OP正在克隆行,则添加到行@abhi
  • 是的,确实如此。那又怎样?
  • autocomplete 不是事件,因此尝试将其与.on 一起使用是没有意义的。只需在添加时为您添加的新行初始化它。

标签: javascript php jquery jquery-delegate


【解决方案1】:

下面的代码对我很有帮助。

$(function(){
      $('#items').on('keyup.autocomplete','.slno', function(){
        $(this).autocomplete({
          source : 'search.php'
        });
      });
    });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-14
    • 1970-01-01
    • 1970-01-01
    • 2012-01-21
    • 2013-04-24
    相关资源
    最近更新 更多