如何从用户输入值的特定行获取文本框值?

时间:2017-12-10 10:24:52

标签: javascript jquery

我使用loadbooks函数在按钮单击时动态地向html表添加数据。当用户单击此按钮时,表格将动态填充数据。

<button id="button" onclick="loadbooks()"></button> function loadbooks() { ... ... for(var j in indivudvalbookdetails) { // if(indivudvalbookdetails[j]['barcode'] !="") //{ count++; $('.library_info_tbl tbody').append('
<tr>' + '
  <td class="text-center centeralign"> ' + data[i]['callno'] + '</td>' + '
  <td class="text-center centeralign"> ' + data[i]['subject'] + '</td>' + '
  <td class="text-center centeralign"> ' + data[i]['title'] + ' </td>' + '
  <td class="text-center centeralign"> ' + data[i]['isbn'] + '</td>' + '
  <td class="text-center centeralign"> ' + data[i]['author'] + ' </td>' + '
  <td class="text-center centeralign"> ' + indivudvalbookdetails[j]['acquisitionno'] + '</td>' + '
  <td class="text-center centeralign">
    <div class="btn-group">' + '
      <input type="text" id="barcodedb'+id+'" value="'+indivudvalbookdetails[j]['barcode']+'" class="form-control hide">'+ '
      <input type="text" id="barcode'+id+'" value="'+indivudvalbookdetails[j]['barcode']+'" class="form-control barcode">'+ '
      <p id="barcodeerror'+id+'" style="color:red; display:none;">Already Assigned</p>'+ '
    </div>
  </td>' + '
</tr>'); id++; // } } ... }  

我正在展示如何在浏览器中呈现一行

<tr><td class="text-center centeralign"> 14</td><td class="text-center centeralign"> Communication</td><td class="text-center centeralign"> Nueral Network </td><td class="text-center centeralign"> 6578975667</td><td class="text-center centeralign"> kggfiuigfuit </td><td class="text-center centeralign"> 54</td><td class="text-center centeralign"><div class="btn-group"><input type="text" id="barcodedb0" value="jkyifujyirkruf" class="form-control hide"><input type="text" id="barcode0" value="jkyifujyirkruf" class="form-control barcode"><p id="barcodeerror0" style="color:red; display:none;">Already Assigned</p></div></td></tr>

类似地,浏览器中还有许多其他行。

请注意,有两个文本框被class =“hide”隐藏(用于后面的比较操作)。

现在,用户将使用ids barcode0或barcode1等在其中一个文本框中输入内容。

请查看我用于检索文本框值的以下功能

$('#library_info_tbl tbody tr td').on("keyup", "input:nth-child(2)", function(j) {
  var barcode = $("#barcode" + j).val().trim();
  var barcodedb = $("#barcodedb" + j).val().trim();
  $("#barcodeerror" + j).css("display", "block");

});

基本上我已经在用户输入或输入某个值的文本框上的文本框值上执行了比较和其他操作,并且该文本框出现在表的行中。

上面关于文本框更改事件的jquery没有被触发......

1 个答案:

答案 0 :(得分:0)

要查找每行的唯一ID,您可以为每行指定一个ID,然后使用

获取ID
  var thisRow =  $(this).closest('tr');

   var thisRowId = thisRow.attr('id');

然后你可以写

var barcode = $("#barcode" + thisRowId).val().trim();