我有(一个数组)两个输入产品
和类别
。
产品一是自动完成的。 我想在选择产品时填写类别。
问题是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",...}
}
})
输入位置是这样的:
最佳答案
您可以使用 $(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/