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

标签 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。

我正在毫无问题地自动完成第一个“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/

相关文章:

javascript - Dynamics Crm 365 webapi - 通过javascript发布网络资源

javascript - 用 _blank 覆盖所有 window.open _self

javascript - 使用history.pushState()更新URL中的参数

jquery - 使用 Jquery 进行条件验证有时不起作用

html - Svg-与 d3 放置的foreignObject 不渲染

javascript - 单击时删除元素

javascript - jQuery 单选按钮数学,仅在两个单选按钮均设置后才返回 true

javascript - 用于代码编辑器动画的 Web 动画库

Javascript - 在文本中替换基于对象的值的最快和最有效的方法

javascript - 尝试使用expressJS重定向时出现"blocked by CORS policy"