我很难解决这个问题!
基本上,我有这种形式:
<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。
我正在毫无问题地自动完成第一个“ajax1”输入,每个。 现在,我想要的是根据用户为“ajax1”字段的自动完成选择的内容更改“ajax2”输入的值。这里的问题是,当我更改“ajax2”值时,它会更改所有 div 的“ajax2”值。
我真正想要的是,对于每个 div,自动完成“ajax1”值,然后根据所选内容填充“ajax2”。
当我动态添加 div 时,我无法使 ID 唯一..
非常感谢!
最佳答案
假设自动完成有一个事件处理程序,您可以使用 closest/find 对来获取您想要的元素。处理函数中的一个简单示例如下所示:
$(this).closest('.row').find('.ajax2').val('NEW VALUE');
您从基本元素(附加了自动完成功能)开始,向上到包装器 div,然后找到想要的元素。
请注意,这只是在给定结构中查找元素的技巧,您应该尝试找到一种方法来生成唯一 ID 并根据它们识别元素。
关于javascript - 使用自动完成和相同的 ID 填充多个字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24136004/