【问题标题】:jQuery append elements not working with autocompletejQuery附加元素不适用于自动完成
【发布时间】:2013-10-15 20:48:26
【问题描述】:

这里是jQuery新手,我有一个有2行的表格,这些行中的输入元素设置为自动完成,这很好用。

我有一个“添加行”按钮,单击该按钮时,jQuery 会在表格上添加一个新行,这也可以完美运行,但问题是自动完成功能不适用于附加的元素,它们与元素相同以上工作完美。我在这里错过了什么吗?有没有办法解决这里的问题?

代码如下。

jQuery

<script>
$(function() {

    $( ".id" ).autocomplete(
    {
         source: "autocomp.php?part=id"
    })

});

$(function() {

    $( ".internal" ).autocomplete(
    {
         source: "autocomp.php?part=internal"
    })

});

$(function() {

    $( ".title" ).autocomplete(
    {
         source: "autocomp.php?part=title"
    })

});

$(document).ready(function() {
$('a').click(function() {
   $('table').append('<tr><td><input name="id" class="id" type="text" /></td><td><input name="quantity" class="quantity" type="text" /></td><td><input name="internal" class="internal" type="text" /></td><td><input name="title" class="title" type="text" /></td><td>&pound;</td><td>&pound;</td></tr>');
});
});
</script>

和 HTML

<table class="products" id="table" border="1" bordercolor="#000000" style="background-color:#FFFFFF; margin-left:5%; margin-top:40px;" width="90%" cellpadding="3" cellspacing="3">

    <tr>
        <td><b>ID</b></td>
        <td><b>Quantity</b></td>
        <td><b>Internal Name</b></td>
        <td><b>Title</b></td>
        <td><b>Unit Price</b></td>
        <td><b>Total</b></td>
    </tr>

    <tr>
        <td><input name="id" class="id" type="text" /></td>
        <td><input name="quantity" class="quantity" type="text" /></td>
        <td><input name="internal" class="internal" type="text" /></td>
        <td><input name="title" class="title" type="text" /></td>
        <td>&pound;</td>
        <td>&pound;</td>
    </tr>

    <tr>
        <td><input name="id" class="id" type="text" /></td>
        <td><input name="quantity" class="quantity" type="text" /></td>
        <td><input name="internal" class="internal" type="text" /></td>
        <td><input name="title" class="title" type="text" /></td>
        <td>&pound;</td>
        <td>&pound;</td>
    </tr>
            </table>

            <a href="javascript:void(0);">Add Line</a>

非常感谢您的帮助。

【问题讨论】:

标签: jquery html jquery-ui


【解决方案1】:

添加新的输入字段后,您需要再次运行 autocomplete() 函数,因为它只在旧输入元素上运行(当页面加载时),并没有在新输入元素上运行。

【讨论】:

  • 感谢您的回答-效果很好-感谢您帮助菜鸟:-)
猜你喜欢
  • 1970-01-01
  • 2012-06-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-28
  • 2017-11-05
  • 2019-12-21
  • 1970-01-01
相关资源
最近更新 更多