我正在处理一个代码,其中我有多个动态生成的div。我的问题是在点击指向该特定div的链接时获取当前隐藏元素值(例如,当我单击添加到收藏夹时,它应该警告task_for隐藏输入的值)。我的代码使用一个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)
});
答案 0 :(得分:3)
使用最近的获取父.search_box_list,然后使用find获取隐藏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)
});