我有(一组)两个输入product
和category
。
产品之一是自动完成的。 选择产品后,我想填写类别。
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",...}
}
})
输入位置如下:
答案 0 :(得分:1)
您可以使用$(event.target)
从事件目标创建一个新的jQuery对象。之后您将可以在其上致电.next
没有jQuery的另一种解决方案是使用本机DOM API。您可以使用nextElementSibling
选择下一个元素。唯一的要求是您要定位的元素必须立即成为下一个元素。
编辑:从提供的DOM结构中,您可以使用.parent().next()
选择父级的下一个元素。然后在这个新元素上使用.find()
选择所需的输入。请注意,代码与DOM结构紧密相关。您可以使用id
直接选择元素。
$(event.target).parent().next().find("input");