使用自动完成和相同的ID填充多个字段

时间:2014-06-10 08:13:04

标签: javascript jquery html symfony autocomplete

我很难解决这个问题!

基本上,我有这种形式:

<div class="row loop">
        <label class="input"> 
            <input type="text" name="ajax1" id="_ajax1[]" class="ajax1">
        </label>
        <label class="input">
             <input type="text" name="ajax2" id="_ajax2[]" class="ajax2">
        </label>
</div>

<div class="row loop">
        <label class="input"> 
            <input type="text" name="ajax1" id="_ajax1[]" class="ajax1">
        </label>
        <label class="input">
             <input type="text" name="ajax2" id="_ajax2[]" class="ajax2">
        </label>
</div>

每个div在我的表单中都算作一行,我有超过10个这样的div。

我正在自动完成第一个&#34; ajax1&#34;输入没有问题,每个。 现在,我想要的是改变&#34; ajax2&#34;的价值。输入,遵循用户为&#34; ajax1&#34;的自动完成选择的内容;领域。这里的问题是当我改变&#34; ajax2&#34;价值,它会改变&#34; ajax2&#34;所有div的值。

我真正想要的是,对于每个div,自动完成&#34; ajax1&#34;值,然后填充&#34; ajax2&#34;按照选择的内容。

当我动态添加div时,我无法使ID唯一..

非常感谢!

1 个答案:

答案 0 :(得分:1)

假设自动完成时有一个事件处理程序,您可以使用最近/找到对来获取所需的元素。处理函数内部的一个简单示例如下:

$(this).closest('.row').find('.ajax2').val('NEW VALUE');

从基本元素开始(附带自动完成功能),转到包装器div然后找到想要的元素。

请注意,这只是在给定结构中查找元素的技巧,您应该尝试找到一种方法来生成唯一ID并根据它们识别元素。