选择event.target的下一个输入

问题描述 投票:0回答:1

我有(一个数组)两个输入productcategory

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

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

javascript jquery dom-events
1个回答
1
投票

您可以使用$(event.target)从事件目标创建新的jQuery对象。之后你可以打电话给.next

没有jQuery的另一个解决方案是使用本机DOM API。您可以使用nextElementSibling选择下一个元素。唯一的要求是您要定位的元素必须立即成为下一个元素。

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

$(event.target).parent().next().find("input");
© www.soinside.com 2019 - 2024. All rights reserved.