这是我的剧本。我想获取页面中隐藏字段的id
并将其传递给fetch.php
$(document).on('click', '.edit_data', function(){
var employee_id = $(this).attr("id");
$.ajax({
url: "fetch.php",
method: "post",
data: { employee_id: employee_id },
dataType: "json",
success: function(data) {
$('#name').val(data.lname);
$('#overtime').val(data.OT);
$('#OT_date').val(data.outw);
$('#employee_id').val(data.id);
$('#overtimeModal').modal('show');
}
});
}); // end of edit data function
while($row = mysqli_fetch_array($result))
{
echo '<tr>
<td><center>'.$row['lname'].'</td>
<td><center>'.$row['outs'].'</td>
<td><center>'.$row['outw'].'</td>
<td><center>'.$row['OT'].' HR/HRS</td>
<td><center><input type="hidden" name="OT_date" id="'.$row['OW'].'" /></td>
<td><center><input type="button" name="btnedit" value="APPROVE" id="'.$row["id"].'" class="searchbutton btn-primary view_data"></center></td>
<td><center><input type="button" name="btnapprove" value="editortest" id="'.$row["id"].'" class="searchbutton btn-primary edit_data"></center></td>
</tr>';
}
这是OTDATE
隐藏字段,我想获取它的ID。请帮我。谢谢
答案 0 :(得分:2)
要解决此问题,您可以从点击的.edit_data
按钮遍历DOM,并在同一:hidden
内找到最近的tr
元素。然后,您可以存储对该元素本身的引用。这使得甚至不需要知道该字段的id
:
$(document).on('click', '.edit_data', function(){
var employee_id = this.id;
var $otdate = $(this).closest('tr').find(':hidden');
$.ajax({
url: "fetch.php",
method: "post",
data: { employee_id: employee_id },
dataType: "json",
success: function(data) {
$('#name').val(data.lname);
$('#overtime').val(data.OT);
$otdate.val(data.outw); // use the element here
$('#employee_id').val(data.id);
$('#overtimeModal').modal('show');
}
});
});
请注意,您可以使用任何您喜欢的选择器来获取隐藏的输入,为简单起见,我在此示例中使用了:hidden
。
答案 1 :(得分:0)
您可以像这样获取它,因为您只指定了一个隐藏的输入。
var hiddenId = $("input[type='hidden']").attr('id');
否则,您可以通过“特定”名称
获取隐藏的输入字段var hiddenId = $("input[name='input_field_name']").attr('id');
在你的情况下,隐藏输入的名称是“OT_date”,所以你应该像这样找到它,我们不知道给id的“id”是什么,因为它是从=&gt;中检索到的。 id =“'。$ row [”id“]。'”,因此以下解决方案就足够了。
var hiddenId = $("input[name='OT_date']").attr('id');
遍历每一行并在该行中找到隐藏的元素。
$('tr').each(function() {
var hiddenId = $(this).find("input[name='OT_date']").attr('id');
});
答案 2 :(得分:0)
使用
jQuery( "[attribute='value']" )
解决您的问题
var hiddenId = $("input[name='OT_date']").attr('id');
答案 3 :(得分:0)
首先在控制台中检查点击事件是否有效!!
然后试试这个:
没有隐藏字段:
var employee_id = $('.edit_data').attr("id");
对于隐藏字段:
var employee_id = $("input[name=OT_date]").attr("id");