首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在包含触发事件的event.target的div中获取隐藏输入字段的值(Javascript)

如何在包含触发事件的event.target的div中获取隐藏输入字段的值(Javascript)
EN

Stack Overflow用户
提问于 2020-05-13 00:09:40
回答 1查看 414关注 0票数 0

我有一组li元素,每个li元素都表示如下:

代码语言:javascript
复制
<li class="list"> <!--Parent-->
   <input type="hidden" id="id" value="3"> <!--Child 1-->
   <div class="cd-1">....</div>            <!--Child 2-->
   <div class="cd-2">                      <!--Child 3 (event trigger)-->
      <select class="reset">
         <option value="1">1</option>
         <option value="2">2</option>
      </select>
   </div>
   <div class="cd-3">                      <!--Child 4-->
</li>

我尝试过的js代码:

代码语言:javascript
复制
$('.reset').addEventListener('change', function(event) {
            if(event.target.tagName.toLowerCase() == 'select') {
                console.log($('#id').val());
     }
}

它返回第一个li元素的输入值,对于如何访问触发事件的select的li内部的输入有什么想法吗?谢谢你的帮忙!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-13 00:54:13

您正在混合jQuery方法和普通方法(如addEventListener )。使用一种或另一种,但要保持一致

仅使用jQuery就可以执行以下操作:

代码语言:javascript
复制
$('select.reset').change(function(){
   // `this` is the select the event occurred on
   const hiddenVal = $(this).closest('.list').find('input:hidden').val()
   console.log('Hidden value:',hiddenVal)

})
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<li class="list">
   <input type="hidden" id="id" value="3">
   <div class="cd-1">....</div>
   <div class="cd-2">
      <select class="reset">
         <option value="1">1</option>
         <option value="2">2</option>
      </select>
   </div>
   <div class="cd-3">
</li>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61764151

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档