2017-04-07 79 views
2

我正在处理一个代码,其中动态生成了多个div。我的问题是点击某个特定div的链接时获取当前隐藏元素值(例如,当我点击添加到收藏夹时,它应该提醒task_for隐藏输入的值)。我的代码使用一个div工作正常,但如果有多个div,它会提醒第一个元素的值。 这里是我的代码 -如何通过遍历到父div来获取元素的值

<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> 

和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) 
}); 
+1

作为价值一边,为什么要将输入元素(即使是隐藏的输入)放入按钮元素中? – nnnnnn

回答

3

使用最接近获取父.search_box_list,然后用找得到隐藏的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) 
}); 
+1

谢谢哥们!有用。 :) –

+0

对你有好处:) – madalinivascu

+0

@AbhishekMishra在按钮外面移动隐藏的输入。检查我的答案。 –