我有一个表格,其中列出了我的所有数据。 数据是在 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/