Javascript 如何使用类选择器和jquery库调用表中输入元素中的某些值?

Javascript 如何使用类选择器和jquery库调用表中输入元素中的某些值?,javascript,jquery,Javascript,Jquery,我无法通过使用同级()和Jquery计算并将结果发送到结果选择器来调用表HTML标记中输入的值 这可能是由于sides()方法造成的,但我不知道应该使用哪个方法通过类选择器从表中选择值 这是HTML标签 <table class="table table-condensed"> <thead> <tr> <td><strong>No</strong></td>

我无法通过使用同级()Jquery计算并将结果发送到结果选择器来调用表HTML标记中输入的值

这可能是由于sides()方法造成的,但我不知道应该使用哪个方法通过类选择器从表中选择值

这是HTML标签

<table class="table table-condensed">
     <thead>
         <tr>
             <td><strong>No</strong></td>
             <td><strong>DESCRIPTION</strong></td>
             <td><strong>Type</strong></td>
             <td><strong>QUANTITY</strong></td>
             <td><strong>UNIT PRICE</strong></td>
             <td><strong>AMOUNT (USD)</strong></td>
         </tr>
     </thead> 
<tbody>
<tr>
 <td><div><?php echo form_input('vat',set_value('',''), 'class="qty"')?> </div></td> 
 <td><div><?php echo form_input('vat',set_value('',''), 'class="unit"')?> </div></td> 
 <td><div><?php echo form_input('vat',set_value('',''), 'class="amount" readonly')?></div></td> 
                                 </tr>
 <tr> 
 <td><div><?php echo form_input('vat',set_value('',''), 'class="qty"')?></div></td> 
 <td><div><?php echo form_input('vat',set_value('',''), 'class="unit"')?> </div></td>
 <td><div><?php echo form_input('vat',set_value('',''), 'class="amount" readonly')?></div></td>
                                </tr>         
 <tr> 
 <td><div>Total</div></td>
 <td> <div><?php echo form_input('total',set_value('total',''),'class="result" readonly ')?>$</div></td>
 </tr> 


说明
类型
数量
单价
金额(美元)

您可以使用最接近的行
,如

$(function () {
    $('.unit,.qty').on('change', function () {
        var $tr=$(this).closest('tr'); // usae the parent row to achieve this
        var unit = $tr.find('.unit').val();
        var qty = $tr.find('.qty').val();
        unit = unit || 0;
        qty   = qty || 0;
        var val = unit >= 1 && qty >= 1 ? parseFloat(unit * qty) : 0;
        $tr.find('.amount').val(val);//parent()
        var total = 0;
        var update = false;
        $('.amount').each(function () {
            val = parseFloat($(this).val()) | 0;
            total = val ? (parseFloat(total + val)) : total;
        });
        $('.result').val(total);
    });
});

尝试以下操作:使用
.closest()
查找父级
tr
,然后查找相关的
单位
数量
金额
输入

$(function () {

    $('.unit,.qty').on('change', function () {
    var $parentTR = $(this).closest('tr');

    //use parseFloat to parse value to float otherwise put it as 0
    var unit = parseFloat($parentTR.find('.unit').val()) || 0;
    var qty = parseFloat($parentTR.find('.qty').val()) || 0;

    var val = parseFloat(unit * qty);

    $parentTR.find('.amount').val(val);

    var total = 0;
    var update = false;
    $('.amount').each(function () {
        val = parseFloat($(this).val()) || 0;
        total += val;
    });
    $('.result').val(total);
  });
});

$(this)。同级('.qty').val()
应该是
$(this)。最近('td')。同级('td')。find('qty').val()
(与.unit相同),同级应该在同一父级中<代码>数量和
单位
不是同级
$(function () {

    $('.unit,.qty').on('change', function () {
    var $parentTR = $(this).closest('tr');

    //use parseFloat to parse value to float otherwise put it as 0
    var unit = parseFloat($parentTR.find('.unit').val()) || 0;
    var qty = parseFloat($parentTR.find('.qty').val()) || 0;

    var val = parseFloat(unit * qty);

    $parentTR.find('.amount').val(val);

    var total = 0;
    var update = false;
    $('.amount').each(function () {
        val = parseFloat($(this).val()) || 0;
        total += val;
    });
    $('.result').val(total);
  });
});