具有相同类的许多输入的公共autocompletechange事件

时间:2014-10-06 12:38:10

标签: jquery jquery-selectors jquery-autocomplete

是否可以使用jquery为许多输入定义公共autocompletechange envent。

我有一个表,当用户点击添加按钮时,动态添加这些行。它是行的简单克隆。每行包含几个输入。我开始编写第一行的自动完成更改,但我想知道是否可以只保留一个自动完成更改来管理行中的所有输入(因为我在添加行时生成新的添加,所以会想到输入ID)。

这是我的代码:

jQuery('.item').on("autocompletechange", function (event, ui) {
    callAjaxMethod();
}

这是HTML:

<div class="item">
    <div class="right">
        <label>Item</label>
        <div class="input-box">
            <input type="text" name="item1-1" value=""
            id="item1-1" class="input-text  item" title="Item" />
        </div>
    </div>
</div>

.item是包含输入的div的类。输入将有我所说的动态ID。

现在,当我在表中添加许多行时,只有第一个输入触发事件。请注意,在导航器控制台中执行jQuery(&#39; .item&#39;)将返回所有输入的数组......

有优雅的方法吗?

1 个答案:

答案 0 :(得分:0)

我不确定没有行创建上下文,但你可以创建一个函数AddRow(...),它既可以创建行,也可以定义该行所需的所有事件处理程序。

另一种方法是仅创建第一行,然后使用参数设置为true的$.clone function,以便沿元素复制事件处理程序。