如何获取隐藏字段的ID并将其传递给我的查询?

时间:2016-11-14 08:41:58

标签: jquery ajax

这是我的剧本。我想获取页面中隐藏字段的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。请帮我。谢谢

4 个答案:

答案 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");