我有一张表,上面列出了所有数据。数据以for循环打印,因此表中有很多行。单击按钮如何获取行中的用户ID?
<table>
<td>
<input type="hidden" value="<c:out value="${user.id}" />" name="userId" />
</td>
<td>
<button class="btn btn-default fileUpload" data-toggle="modal" id="btnUpload" data-target="#file-modal" value="<c:out value="${user.id}" />">Upload</button></td>
</table>
而且我有一个模态容器。单击表格中的上传按钮后,将打开模态以上传文件。
<form action="${pageContext.request.contextPath}/UserServlet" enctype="multipart/form-data" method="post">
<input type="hidden" value="5519" name="OPS" />
<input type="hidden" name="uploadUserId" />
<div class="form-group">
File : <input type="file" class="file" name="uploadFile"><br />
<button type="submit" class="btn btn-default">Upload</button>
<br /><br />
</div>
</form>
我想做的是单击btnUpload,将隐藏输入类型userId中的值复制到隐藏值类型uploadUserId中。
我已尝试执行以下操作,但均无济于事
1个
$(document).ready(function () {
$("#btnUpload").click(function(){
var $userId = $(this).closest("tr").find("#userId").text();
$("#uploadUserId").val($userId);
});
});
2
$(document).ready(function () {
$("#btnUpload").click(function(){
var $userId = $(this).closest("tr").children()[2].text();
$("#uploadUserId").val($userId);
});
});
最佳答案
这将在不更改html的情况下完成操作
$(document).ready(function () {
$("#btnUpload").click(function(){
var $userId = $(this).parent().prev("td").children("input:hidden").val();
$("#uploadUserId").val($userId);
});
});
另一个解决方案是将ID添加到输入元素,如下所示,
<input id="userVal" type="hidden" value="<c:out value="${user.id}" />"name="userId" />
那么你可以从下面的jQuery中获取值
$("#userVal").val();
关于javascript - 使用JQuery将值从表复制到模式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38493852/