javascript - 选择 event.target 的下一个输入

标签 javascript jquery dom-events

我有(一个数组)两个输入产品类别

产品一是自动完成的。 我想在选择产品时填写类别。

问题是event.target不是jquery对象,所以我似乎无法应用jQquery的.next("input")

这是我的代码:

var addedProduct = $(".produit:last > input");
addedProduct.autocomplete( {
        source: Object.keys(availableProducts),
        select: function(event, ui){
            var category = event.target.next("input"); // something like this ???
            category.value = availableProducts[ui.item.value]; //{"product1":"category1",...}
        }
    })

输入位置是这样的:

enter image description here

最佳答案

您可以使用 $(event.target) 从事件目标创建一个新的 jQuery 对象。之后您就可以对其调用.next

不使用 jQuery 的另一种解决方案是使用 native DOM API。您可以使用 nextElementSibling 选择下一个元素。唯一的要求是您想要定位的元素必须紧邻下一个元素。

编辑:从提供的 DOM 结构中,您可以使用 .parent().next() 选择父级别的下一个元素。然后在这个新元素上使用 .find() 来选择所需的输入。请注意,代码与 DOM 结构高度相关。您可以使用id直接选择元素。

$(event.target).parent().next().find("input");

关于javascript - 选择 event.target 的下一个输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54214830/

相关文章:

javascript - 在 Javascript 中创建按键事件

jquery - 未使用 jquery 将数据发送到 Django View

javascript - 在 JavaScript 中,如果在 HTML 元素及其祖先上声明事件触发器,哪个先触发?

javascript - 重构 javascript if 语句

javascript - HTML 文本区域 : use JavaScript to get wrapped text?

javascript - D3js (v3) 中路径元素的过滤数据集

javascript - 交换两个 html 元素并保留它们的事件监听器

javascript - 带有 requirejs/AMD 的 Webpack

php - 在 Woocommerce 中为特定支付网关添加自定义费用

html - 检测 Angular 4 中的实时窗口大小变化