jQuery遍历和查找文本框

时间:2013-09-26 14:38:18

标签: javascript jquery

如果我循环遍历表中的元素 - 比如类“pmtos”的隐藏字段 - 如何在表格的同一单元格中获得对文本字段(输入)的引用?

jQuery是:

 // Loop through each hidden field, which holds the outstanding amount
 $(".pmtos").each(function () {

        var os = $(this).val();
        //
        //find text box in same cell - and populate with some value
        //
        //

 });

感谢您提供有关此工作的任何指导。

标记

4 个答案:

答案 0 :(得分:1)

尝试

 // Loop through each hidden field, which holds the outstanding amount
 $(".pmtos").each(function () {

        var os = $(this);
        var cell = os.parent(); // gets the parent, i.e. the table cell
        var input = cell.find('input')[0];

 });

答案 1 :(得分:1)

检查一下。可能适合你。

   $(".pmtos").each(function () {

            var os = $(this).val();
            var input = $(this).closest('td').find('input[type=text]');

     });

答案 2 :(得分:1)

您可以使用$(this).closest('input')

答案 3 :(得分:1)

以下是编辑之前问题的解决方案(根据要求):

$('#allocate').click(function () {
  var recd = parseFloat( $('#pmtRecd').val() );

  $('input.pmtallocated').each(function() {
    var value = parseFloat( $(this).parent().prev().text() );
    this.value = (recd >= value) ? value : recd;         
    recd = recd - this.value;

    if (recd == 0) {
      return false;
    }
  });  
});

注意:这不依赖于隐藏的输入。它采用第二列中td的文本。

Here's the fiddle

回答编辑后的问题

您可以使用siblings('.pmtallocated')prev('.pmtallocated')来获取输入。使用siblings()可能会更好,因为它不依赖pmtallocated在标记之前直接pmtos

$(this).siblings('.pmtallocated').val()