我查看过几个非常相似的问题,但无法完成这项工作。我所拥有的是DOM
结构:
<div class="container">
<input class="selected"/>
<div class="dropdown-wrapper ae-hide">
<div class="selectable">1</div>
<div class="selectable">2</div>
<div class="selectable">3</div>
</div>
</div>
当点击任何.selectable
时,我想更新输入的值。问题是我找不到正确的选择器来做到这一点。这是动态创建的,所以我可以在我的页面上有多个html
代码片段,这就是我使用类的原因。
以下是FIDDLE
答案 0 :(得分:1)
找到元素的一种方法是:
array (size=3)
'provision' => string 'on' (length=2)
'invoice' => string 'on' (length=2)
'updatebtn' => string '' (length=0)
答案 1 :(得分:1)
prev()
是兄弟选择器,因此您需要与input
元素位于dom的同一级别。
您要做的第一件事就是使用closest()
来获取类dropdown-wrapper
的祖先(在这种情况下您也可以使用parent()
但是如果您更改,则最近的更灵活你的dom结构)。根据该结果,您将拨打prev
$('.selectable').click(function(){
$(this).closest('.dropdown-wrapper').prev('.selected').val('hit');
});
答案 2 :(得分:1)
JS代码中的倒数第二行应该是:
$(this).parent().prev('.selected').val('hit');
(您希望从我理解的内容中解决之前的父)