繁体   English   中英

获取父母孩子的输入值时发生不确定的错误

[英]Undefined error getting parents childs input value

我有一个看起来像这样的表:

<table>
    <tr>
       <td class="packing-vol">0.19</td>
       <td class="qty-cell"><input type="text" name="qty[]" class="qty" value="2" /></td>
     </tr>
     <tr>
       <td class="packing_total">0.70</td>
       <td class="qty-cell"><input type="text" name="qty[]" class="qty" value="1" /></td>
     </tr>
</table>

我正在遍历.packing-vol的每次出现,以获取其文本,然后我想从同一行中获取数量,因此我转到它的父级,然后钻入.qty类。 但是当我提醒(数量)时,我得到“未定义”消息。

var total = 0;

jQuery('.packing-vol').each(function(i) {

    var qty = jQuery(this).parent("td.qty-cell .qty").val();
    alert(qty);

    var cur = parseFloat(jQuery(this).text());
    if(!isNaN(cur)){
        total = total + cur;
    }

});

我认为您应该这样做:

var qty = jQuery(this).parent().find("td.qty-cell .qty").val();

你需要去1级了(使用.parent ),然后用里面找到你的领域.find

parent只是向上一级。 您不能再使用它进入树木。

parents是多个层次的向上。 您不能再使用它进入树木。

您可以使用parent / parents ,然后用find做你想要什么,甚至更好:

var total = 0;
jQuery('.packing-vol').each(function(i) {

    var qty = jQuery(this).parent().children('.qty-cell').children('.qty').val();
    alert(qty);

    var cur = parseFloat(jQuery(this).text());
    if (!isNaN(cur)){
        total = total + cur;
    }
});

您也可以使用find ,但是它比直接进入它要 ,因为它必须搜索DOM对象。

但是您也可以这样做:

var qty = jQuery(this).parent().find("td.qty-cell .qty").val();

代替

var qty = jQuery(this).parent("td.qty-cell .qty").val();

尝试:

var qty = jQuery(this).parent().find(".qty").val();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM