使用jQuery

时间:2018-06-02 15:12:17

标签: jquery

我查看过几个非常相似的问题,但无法完成这项工作。我所拥有的是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

3 个答案:

答案 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');

(您希望从我理解的内容中解决之前的

https://jsfiddle.net/o7s1xgdj/