我很难解决这个问题!
基本上,我有这种形式:
<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唯一..
非常感谢!
答案 0 :(得分:1)
假设自动完成时有一个事件处理程序,您可以使用最近/找到对来获取所需的元素。处理函数内部的一个简单示例如下:
$(this).closest('.row').find('.ajax2').val('NEW VALUE');
从基本元素开始(附带自动完成功能),转到包装器div然后找到想要的元素。
请注意,这只是在给定结构中查找元素的技巧,您应该尝试找到一种方法来生成唯一ID并根据它们识别元素。