0

如果我正在遍历表中的元素——比如“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

4 回答 4

1

看一下这个。可能适合你。

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

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

     });
于 2013-09-26T14:51:33.533 回答
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];

 });
于 2013-09-26T14:50:00.263 回答
1

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

于 2013-09-26T14:52:47.657 回答
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第二列中获取文本。

这是小提琴

编辑后回答问题

您可以使用siblings('.pmtallocated')prev('.pmtallocated')获取输入。使用siblings()可能会是两者中更好的,因为它不依赖于标记中的pmtallocated直接出现:pmtos

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

于 2013-09-26T15:15:51.673 回答