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

Jquery 如何获取隐藏字段的id并将其传递给查询?,jquery,ajax,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 },

这是我的剧本。我想获取页面中隐藏字段的
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\u fetch\u数组($result))
{
回声'
“.$row['lname']”
“.$row['outs']”
“.$row['OUT']”
“.$row['OT']”小时/小时
';
}   

这是
OTDATE
隐藏字段,我想获取它的id。请帮帮我。谢谢

您可以这样获取它,因为您只指定了一个隐藏输入

var hiddenId =  $("input[type='hidden']").attr('id');
否则,您可以通过“特定”名称获取隐藏的输入字段

在您的例子中,隐藏输入的名称是“OT_date”,因此您应该像这样找到它,我们不知道从=>id=“”。$row[“id”]”检索id时会给id什么“id”,因此下面的解决方案就足够了

var hiddenId =  $("input[name='OT_date']").attr('id');
遍历每一行并在该行中找到隐藏的元素

 $('tr').each(function() {
    var hiddenId =  $(this).find("input[name='OT_date']").attr('id');
 });

要解决此问题,您可以从单击的
.edit_data
按钮遍历DOM,并在同一
tr
中找到最近的
:hidden
元素。然后可以存储对该元素本身的引用。这样就不需要知道字段的
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

jQuery( "[attribute='value']" ) 
为了你的问题

   var hiddenId = $("input[name='OT_date']").attr('id');

首先签入控制台,单击事件是否有效

然后试试这个:

对于没有隐藏字段的情况:

  var employee_id = $('.edit_data').attr("id");
  var employee_id = $("input[name=OT_date]").attr("id");
对于隐藏字段:

  var employee_id = $('.edit_data').attr("id");
  var employee_id = $("input[name=OT_date]").attr("id");


单击是否有效?您是否提醒或控制员工id?为什么不使用
input
value
属性?谢谢您的帮助!!这个按钮起作用了,我试过了。。但问题是我要传递给fetch.php的变量。。我在那里有一个查询来获取结果,其中employee_id等于从jscript传递的employee id。。但是如果我只使用员工id,查询将给出错误的结果。。所以我也需要得到日期,并在我的查询中使用它。谢谢你的回答。。如何检查我是否获得了正确的日期?当我将其放入success:function()中时,它没有显示。您可以检查
$otdate.length
以查看是否找到该元素(它应该返回
1
)此外,您是否检查过AJAX函数是否成功完成?它返回1 sir。。但是我如何检查我得到的日期是否正确呢?我是stackoverflow的新手……)我如何评论图像?啊-你的意思是如何检查输入值是否有效?如果是这样,我建议你开始一个新问题谢谢你的帮助。。我应该用attrib这个名字吗?并将$row['']放入?关于它?@arima我已经更新了我的答案,以获得更多的澄清。如果解决了您的问题,请向上投票。@arima然后您需要在all上循环并搜索其中每个隐藏元素的id。我已对此问题进行了更新。再次感谢您的回答。。但是我对使用ajax非常陌生。。我应该把代码放在哪里?我试着把它放在var employee_id之后。。但是它不起作用。。thanks@arima你不应该在一个问题中添加更多的问题。我们为您提供实际问题的答案。请更新您的实际需要以及您试图发送到服务器的内容。谢谢,先生。。按钮正在工作,它已经给我结果了。。。但是我的查询结果是错误的。。这就是为什么我需要在这里获取加班日期,并将其传递给fetch中的查询,phpthanks先生。。如何检查此脚本返回的值?您可以在console中使用
console.log(hiddenId)
检查它,它将返回ID数组,然后首先按源代码检查代码。打印了多少个元素先生,这些元素是什么意思?