jQuery   发布时间:2022-04-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了javascript – 使用jQuery查找父元素和最近元素大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个简单的形式
<tr>
    <td> <input type="text" name="qty[]" placeholder="qty"/> </td>
    <td> <input type="text" name="price[]" placeholder="price"/> </td>
    <td> <input type="text" name="total[]" placeholder="Total"/> </td>
</tr>

我们可以有多行与上面相同.

我需要的是当用户输入需要更新的行总数的数量或价格时.

我尝试了什么

$('input[name=\'qty[]\']').on('change keyup',function(){
    var qty = $(this).val();
    var price = $(this).parent('tr').find('input[name=\'price[]\']').val();  
});

价格未定义

或者有更简单的方法吗?请检查Fiddle

更新:

.parent(..)选择当前元素集中每个元素的直接父元素.第一个参数过滤此集合. input元素的直接父元素是td元素,而不是tr元素.

更新Fiddle

解决方法

首先,考虑制作你的html:
<tr>
    <td> <input type="number" name="qty[]" placeholder="qty"/> </td>
    <td> <input type="number" name="price[]" placeholder="price"/> </td>
    <td> <input type="number" name="total[]" placeholder="Total"/> </td>
</tr>

也.到目前为止javascript:

jQuery(document).on("change,keyup","input[name='qty[]'],input[name='price[]']",function(){
     var parent_element = jQuery(this).closest("tr");
     var qty = jQuery(parent_element).find("input[name='qty[]']").val();
     var price = jQuery(parent_element).find("input[name='price[]']").val();
     if( qty.trim() != "" && price.trim() != "")
      {
        jQuery(parent_element).find("input[name='total[]']").val( parseFloat(qty) *parseFloat(price) );
      }
      else
      {
        jQuery(parent_element).find("input[name='total[]']").val("");
      }
});

编辑:更好的方法,适当考虑空字段

大佬总结

以上是大佬教程为你收集整理的javascript – 使用jQuery查找父元素和最近元素全部内容,希望文章能够帮你解决javascript – 使用jQuery查找父元素和最近元素所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: