jQuery-UI AutoComplete 不适用于动态字段

标签 jquery html json jquery-ui jquery-ui-autocomplete

自动完成对静态字段可以正常工作,但对动态字段不起作用。

我已经尝试了 .live() 方法,但我无法让它正常工作。

这是我的 HTML:

<table>
    <tr class="selectmatprimas">
        <td>
            <input type="text" class="selectmatprima" />
            <input type="text" name="matprimas[]" />
        </td>
    </tr>
    <tr class="clone" style="display:none;">
        <td>
            <input type="text" class="selectmatprima" />
            <input type="text" name="matprimas[]" />
        </td>
    </tr>
</table>
<input type="button" value="addmore" id="addmore" />

这是我的 JS:

var src = [
    {
        "label": "Mat\u00e9ria Prima 1",
        "value": "1"
    },
    {
        "label": "Mat\u00e9ria Prima 2",
        "value": "2"
    }
];

$("input.selectmatprima").autocomplete({
    source: src,
    select: function (event, ui) {
        event.preventDefault();
        this.value = ui.item.label;
        $(this).next().val(ui.item.value);
    },
    focus: function (event, ui) {
        event.preventDefault();
        this.value = ui.item.label;
        $(this).next().val(ui.item.value);
    }
});

$("input#addmore").click(function(){
    var a = $('tr.clone').html();
    var b = $('tr.selectmatprimas:last');
    b.after("<tr class='selectmatprimas'>"+a+"</tr>");
});

Online DEMO

如您所见,当我单击“添加更多”按钮时,自动完成功能对新字段不起作用...

最佳答案

我只是用你的代码触及了表面,但这是一个有效的 version

关键是 jQuery 的 on() 函数,您可以阅读 here

关于jQuery-UI AutoComplete 不适用于动态字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11546559/

相关文章:

javascript - 可折叠面板无法正常工作

javascript - Promise catch 不解析 json

json - Play 2.1-RC2 : Converting JsValue to Scala Value

javascript - 如何将 esimakin 分页与我的表格链接?

javascript - 将jquery插入js文件

javascript - 如何检测在 jqgrid 中何时选择了一行并且未选择任何行?

html - 我可以停止看起来像链接的链接吗?

javascript - jQuery 单独切换多个区域

javascript - 将 Javascript 对象转换为 Javascript 数组

jquery .html() 替换区分大小写