如何通过遍历父div来获取元素的值

如何通过遍历父div来获取元素的值

问题描述:

I am working on a code where i have multiple div's generated dynamically. My problem is to get current hidden elements value on click of a link to that particular div(e.g when i click on Add to Favorites it should alert the value of task_for hidden input). My code is working fine with one div but if there is multiple divs it alerts the first element's value. Here is my code-

<div class="col-md-4 col-sm-4 col-xs-12">
<div class="search_box_list">
<a href="javascript:void(0)" class="add_fav"><i class="fa fa-star-o" aria-hidden="true"></i>Add to favourites</a>
<div class="n_s">'+value.user_name+'</div><div class="n_e">'+value.user_email+'</div>
<div class="n_n">'+value.user_phone+'</div>
<div class="n_d">'+value.user_designation+'</div><div class="n_d">
<button type="button" id="assign" class="assign_task" class="btn btn-default">
<input type="hidden" name="for_id" class="task_for" value="'+value.user_id+'" />
<input type="hidden" name="for_id" class="email" value="'+value.user_email+'" /> Assign Task
</button>
</div>
</div>
</div>

and the jquery

$("body").on('click','.add_fav',function(){
  var who_id=<?php echo $_SESSION['global']['uid'] ?>;
  var whom_id=$(document).find(".task_for").val();
  alert(whom_id)
});

我正在处理一个代码,其中我有多个动态生成的div。 我的问题是在点击指向该特定div的链接时获取当前隐藏元素值(例如,当我单击添加到收藏夹时,它应该警告task_for隐藏输入的值)。 我的代码可以正常工作一个div但如果有多个div它会提醒第一个元素的值。 这是我的代码 - p>

 &lt; div class =“col-md  -4 col-sm-4 col-xs-12“&gt; 
&lt; div class =”search_box_list“&gt; 
&lt; a href =”javascript:void(0)“class =”add_fav“&gt;&lt; i  class =“fa fa-star-o”aria-hidden =“true”&gt;&lt; / i&gt;添加到收藏夹&lt; / a&gt; 
&lt; div class =“n_s”&gt;'+ value.user_name +'&lt;  / div&gt;&lt; div class =“n_e”&gt;'+ value.user_email +'&lt; / div&gt; 
&lt; div class =“n_n”&gt;'+ value.user_phone +'&lt; / div&gt; 
&lt; div  class =“n_d”&gt;'+ value.user_designation +'&lt; / div&gt;&lt; div class =“n_d”&gt; 
&lt; button type =“button”id =“assign”class =“assign_task”class =“  btn btn-default“&gt; 
&lt; input type =”hidden“name =”for_id“class =”task_for“value =”'+ value.user_id +'“/&gt; 
&lt; input type =”hidden“name =  “for_id”class =“email”value =“'+ value.user_email +'”/&gt; 分配任务
&lt; / button&gt; 
&lt; / div&gt; 
&lt; / div&gt; 
&lt; / div&gt; 
  code>  pre> 
 
 

和jquery p>

  $(“body”)。on('click','。add_fav',function(){
 var who_id =&lt;?php echo $ _SESSION ['global'] [  'uid']?&gt ;; 
 var whom_id = $(document).find(“。task_for”)。val(); 
 alert(whom_id)
}); 
  code>  pre  > 
  div>

Use closest to get the parent .search_box_list and then use find to get the value of the hidden div

$("body").on('click','.add_fav',function(){
  var who_id  = <?php echo $_SESSION['global']['uid'] ?>;
  var whom_id = $(this).closest('.search_box_list').find(".task_for").val();
  alert(whom_id)
});