javascript - 使用自定义属性获取表内的输入值
问题描述
我正在尝试获取内部的输入值,input
但td
具有特定LogId
的输入值并将值设置为输入
那是我的同事:
<tr role="row" class="odd" style="cursor: pointer;" data-toggle="modal" data-target="#modal-detail"
onclick="openDetailModel('<%= searchtrans.getLogId()%>')">
<td class="">
<input type="hidden" logId="<%= searchtrans.getLogId() %>" id="bRequest" value="<%=searchtrans.getBRequest()%>" >
<input type="hidden" logId="<%= searchtrans.getLogId() %>" id="bResponse" value="<%= searchtrans.getBResponse() %>">
<input type="hidden" logId="<%= searchtrans.getLogId() %>" id="sRequest" value="<%= searchtrans.getSRequest()%>" >
<input type="hidden" logId="<%= searchtrans.getLogId() %>" id="sResponse" value="<%=searchtrans.getSResponse()%>">
</td>
</tr>
这就是我尝试的 JavaScript 代码:
function openDetailModel(detailVal){
var value = detailVal;
var bRequest = $("td #bRequest[logId ='" + value + "']").val();
var bResponse = $("#bResponse[logId ='" + value + "']").val();
var sRequest = $('#sRequest').val();
var sResponse= $('#sResponse').val();
document.getElementById('modelBRequest').value = bRequest;
document.getElementById('modelBResponse').value = bResponse;
document.getElementById('modelSRequest').value = sRequest;
document.getElementById('modelSResponse').value = sResponse;
}
我尝试了很多方法,但没有任何效果。
解决方案
非常感谢@ScottMarcus 遵循他的步骤
那是我编辑后的html:
<tr role="row" class="odd" style="cursor: pointer;" data-toggle="modal" data-target="#modal-detail"
onclick="openDetailModel('<%= searchtrans.getLogId()%>')">
<td class="">
<article data-logId="<%= searchtrans.getLogId() %>" id="bRequest" data-value="<%=searchtrans.getBRequest()%>" >
<article data-logId="<%= searchtrans.getLogId() %>" id="bResponse" data-value="<%= searchtrans.getBResponse() %>">
<article data-logId="<%= searchtrans.getLogId() %>" id="sRequest" data-value="<%= searchtrans.getSRequest()%>" >
<article data-logId="<%= searchtrans.getLogId() %>" id="sResponse" data-value="<%=searchtrans.getSResponse()%>">
</td>
</tr>
和我的 Js 代码:
function openDetailModel(detailVal){
var value = detailVal;
const input = document.querySelector("#bRequest[data-logId ='" + value + "']");
const input2 = document.querySelector("#bResponse[data-logId ='" + value + "']");
const input3 = document.querySelector("#sRequest[data-logId ='" + value + "']");
const input4 = document.querySelector("#sResponse[data-logId ='" + value + "']");
var bRequest = input.dataset.value;
var bResponse = input2.dataset.value;
var sRequest = input3.dataset.value;
var sResponse= input4.dataset.value;
$('#modelRequest').val(bRequest);
$('#modelBResponse').val(bResponse);
$('#modelSRequest').val(sRequest);
$('#modelSResponse').val(sResponse);
}
推荐阅读
- javascript - How to wait on async .then
- spring-boot - 从 Spring Cloud Configuration 加载属性数组
- flutter - 由于 cloud_firestore,无法安装 permission_handler 和 file_picker
- r - plot.window(…) 中的错误:需要有限的“xlim”值,但看起来一切都很好
- python - 从 psycopg2 在 Postgres 中插入 dict 列表作为 json 数组
- python - 在 Heroku 中上传烧瓶应用程序并且工作正常但在我的终端中出现错误,(拉取函数中的错误)
- php - 从某个日期到 12 月计算月份,然后从次年 1 月到同年 12 月计算月份,然后从 1 月到结束日期
- git - 每当我们使用 dotnet 格式运行 git commit 时,如何格式化代码?
- javascript - 需要根据javascript中的特定要求修改数组
- rxjs - 如何在 Svelte 中使用 RXJs 主题之类的存储变量