首页 新闻 赞助 找找看

jQuery为什么计算结果总是NaN ,求大神帮助

0
悬赏园豆:30 [已解决问题] 解决于 2017-12-04 14:30

js代码

//积分
function aa() {
var sum=0;
$("#shopping").find("tr").each(function (i,index) {
var aa1=$(index).find(".cart_td_6").find("input[type='text']").val();
sum+=parseInt($(index).find(".cart_td_4").text())*aa1;
});

$("#integral").text(parseInt(sum));
}



html代码

<div id="content">
<form action="" method="post" name="myform">
<table width="100%" border="0" cellspacing="0" cellpadding="0" id="shopping">
<tr>
<td class="title_1"><input id="allCheckBox" type="checkbox" value=""/>全选</td>
<td class="title_2" colspan="2">店铺宝贝</td>
<td class="title_3">获积分</td>
<td class="title_4">单价(元)</td>
<td class="title_5">数量</td>
<td class="title_6">小计(元)</td>
<td class="title_7">操作</td>
</tr>
<tr>
<td colspan="8" class="line"></td>
</tr>
<tr>
<td colspan="8" class="shopInfo">店铺:<a href="#">纤巧百媚时尚鞋坊</a> 卖家:<a href="#">纤巧百媚</a> <img
src="images/taobao_relation.jpg" alt="relation"/></td>
</tr>
<tr id="product1">
<td class="cart_td_1"><input name="cartCheckBox" type="checkbox" value="product1"/></td>
<td class="cart_td_2"><img src="images/taobao_cart_01.jpg" alt="shopping"/></td>
<td class="cart_td_3"><a href="#">日韩流行风时尚美眉最爱独特米字拼图金属坡跟公主靴子黑色</a><br/>
颜色:棕色 尺码:37<br/>
保障:<img src="images/taobao_icon_01.jpg" alt="icon"/></td>
<td class="cart_td_4">5</td>
<td class="cart_td_5">138.00</td>
<td class="cart_td_6"><img src="images/taobao_minus.jpg" alt="minus" class="hand"/> <input id="num_1"
type="text"
value="1"
class="num_input"
readonly="readonly"/>
<img src="images/taobao_adding.jpg" alt="add" class="hand"/></td>
<td class="cart_td_7"></td>
<td class="cart_td_8"><a href="javascript:void(0);">删除</a></td>
</tr>

<tr>
<td colspan="8" class="shopInfo">店铺:<a href="#">香港我的美丽日记</a> 卖家:<a href="#">lokemick2009</a> <img
src="images/taobao_relation.jpg" alt="relation"/></td>
</tr>
<tr id="product2">
<td class="cart_td_1"><input name="cartCheckBox" type="checkbox" value="product2"/></td>
<td class="cart_td_2"><img src="images/taobao_cart_02.jpg" alt="shopping"/></td>
<td class="cart_td_3"><a href="#">chanel/香奈尔/香奈尔炫亮魅力唇膏3.5g</a><br/>
保障:<img src="images/taobao_icon_01.jpg" alt="icon"/> <img src="images/taobao_icon_02.jpg"
alt="icon"/></td>
<td class="cart_td_4">12</td>
<td class="cart_td_5">265.00</td>
<td class="cart_td_6"><img src="images/taobao_minus.jpg" alt="minus" class="hand"/> <input id="num_2"
type="text"
value="1"
class="num_input"
readonly="readonly"/>
<img src="images/taobao_adding.jpg" alt="add" class="hand"/></td>
<td class="cart_td_7"></td>
<td class="cart_td_8"><a href="javascript:void(0);">删除</a></td>
</tr>

<tr>
<td colspan="8" class="shopInfo">店铺:<a href="#">实体经营</a> 卖家:<a href="#">林颜店铺</a> <img
src="images/taobao_relation.jpg" alt="relation"/></td>
</tr>
<tr id="product3">
<td class="cart_td_1"><input name="cartCheckBox" type="checkbox" value="product3"/></td>
<td class="cart_td_2"><img src="images/taobao_cart_03.jpg" alt="shopping"/></td>
<td class="cart_td_3"><a href="#">蝶妆海?蓝清滢粉底液10#(象牙白)</a><br/>
保障:<img src="images/taobao_icon_01.jpg" alt="icon"/> <img src="images/taobao_icon_02.jpg"
alt="icon"/></td>
<td class="cart_td_4">3</td>
<td class="cart_td_5">85.00</td>
<td class="cart_td_6"><img src="images/taobao_minus.jpg" alt="minus" class="hand"/> <input id="num_3"
type="text"
value="1"
class="num_input"
readonly="readonly"/>
<img src="images/taobao_adding.jpg" alt="add" class="hand"/></td>
<td class="cart_td_7"></td>
<td class="cart_td_8"><a href="javascript:void(0);">删除</a></td>
</tr>

<tr>
<td colspan="8" class="shopInfo">店铺:<a href="#">红豆豆的小屋</a> 卖家:<a href="#">taobao豆豆</a> <img
src="images/taobao_relation.jpg" alt="relation"/></td>
</tr>
<tr id="product4">
<td class="cart_td_1"><input name="cartCheckBox" type="checkbox" value="product4"/></td>
<td class="cart_td_2"><img src="images/taobao_cart_04.jpg" alt="shopping"/></td>
<td class="cart_td_3"><a href="#">相宜促销专供 大S推荐 最好用的LilyBell化妆棉</a><br/>
保障:<img src="images/taobao_icon_01.jpg" alt="icon"/></td>
<td class="cart_td_4">12</td>
<td class="cart_td_5">12.00</td>
<td class="cart_td_6"><img src="images/taobao_minus.jpg" alt="minus" class="hand"/> <input id="num_4"
type="text"
value="2"
class="num_input"
readonly="readonly"/>
<img src="images/taobao_adding.jpg" alt="add" class="hand"/></td>
<td class="cart_td_7"></td>
<td class="cart_td_8"><a href="javascript:void(0);">删除</a></td>
</tr>

<tr>
<td colspan="3"><a id="deleteAll" href="javascript:void(0);"><img src="images/taobao_del.jpg"
alt="delete"/></a></td>
<td colspan="5" class="shopend">商品总价(不含运费):<label id="total" class="yellow"></label><br/>
可获积分 <label class="yellow" id="integral"></label><br/>
<input name=" " type="image" src="images/taobao_subtn.jpg"/></td>
</tr>
</table>
</form>
</div>
嘟嘟嘟,,,的主页 嘟嘟嘟,,, | 菜鸟二级 | 园豆:203
提问于:2017-12-03 16:51
< >
分享
最佳答案
0

不知道你注意了没有,第一次遍历的时候,$(index).find(".cart_td_6")根本就找不到,所以aa1就是空,但是在执行parseInt($(index).find(".cart_td_4").text())*aa1的时候,就变成NaN了,所以后边再怎么与NaN相加,也不可能是数字了

收获园豆:30
~逍遥★星辰~ | 菜鸟二级 |园豆:245 | 2017-12-04 12:27

那应该怎么改呀

嘟嘟嘟,,, | 园豆:203 (菜鸟二级) | 2017-12-04 13:10

@嘟嘟嘟,,,: 你试试这样写,把这个

$("#shopping").find("tr").each(function (i,index) {
  var aa1=$(index).find(".cart_td_6").find("input[type='text']").val();
  sum+=parseInt($(index).find(".cart_td_4").text())*aa1;
});

改成

$("#shopping").find("tr").each(function (i,index) {

  if($("#shopping").find("tr").find(".cart_td_6").find("input[type='text']")){

    var aa1=$(index).find(".cart_td_6").find("input[type='text']").val();
    sum+=parseInt($(index).find(".cart_td_4").text())*aa1;

  }

}

试试

~逍遥★星辰~ | 园豆:245 (菜鸟二级) | 2017-12-04 13:19

@~逍遥★星辰~: 还是不行   得到的值还是NaN

嘟嘟嘟,,, | 园豆:203 (菜鸟二级) | 2017-12-04 14:03

@嘟嘟嘟,,,: 我试过了,这样改可以

$("#shopping").find("tr").each(function (i, index) {
  if ($(index).find(".cart_td_6").find("input[type='text']").length != 0) {
    var aa1 = $(index).find(".cart_td_6").find("input[type='text']").val();
    sum += parseInt($(index).find(".cart_td_4").text()) * aa1;
  }
});
~逍遥★星辰~ | 园豆:245 (菜鸟二级) | 2017-12-04 14:19

@~逍遥★星辰~: 嗯  可以了  非常感谢!

嘟嘟嘟,,, | 园豆:203 (菜鸟二级) | 2017-12-04 14:29
其他回答(2)
0

aal也需要parseInt啊,因为js拿到的类型是字符串

最佳解决方案 | 园豆:25 (初学一级) | 2017-12-03 20:49

试了  也不好使

支持(0) 反对(0) 嘟嘟嘟,,, | 园豆:203 (菜鸟二级) | 2017-12-04 11:04
0

$(index).find(".cart_td_4").text() 改成$(index).find(".cart_td_4").val()试试

Bluto | 园豆:317 (菜鸟二级) | 2017-12-04 11:16

不行啊  $(index).find(".cart_td_4")的值是文本 不是value 

支持(0) 反对(0) 嘟嘟嘟,,, | 园豆:203 (菜鸟二级) | 2017-12-04 11:21
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册