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数组,然后首先按源代码检查代码。打印了多少个元素先生,这些元素是什么意思?