首页 > 解决方案 > 使用自定义属性获取表内的输入值

问题描述

我正在尝试获取内部的输入值,inputtd具有特定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;
          
        }

我尝试了很多方法,但没有任何效果。

标签: javascriptjquery

解决方案


非常感谢@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);

        }

推荐阅读