我正在尝试使用jquery全球化插件执行此操作,但它在浏览器中失败(客户端脚本错误,indexOf()
)
var newquantity = $.global.parseFloat(edititem.find('td.edititem-quantity > input'));
我曾经使用过这样的jquery计算插件:
var newdiscount = edititem.find('td.edititem-discount > input').parseNumber();
并且它有效,但我正在改为jquery全球化,因为它有一些i18n选项,并且只想使用这两个插件中的一个,而不是两个插件在同一个站点上。
为什么第一个失败?
答案 0 :(得分:1)
我猜你可能想要:
var newquantity = $.global.parseFloat(edititem.find('td.edititem-quantity > input').val());
获取<input>
元素的值。
编辑 - 更新:有时值可能为空:
var newquantity =
$.global.parseFloat(edititem.find('td.edititem-quantity > input').val() || '');
查看全球化“parseFloat()”函数的源代码,它对第一个参数(实际上必须是字符串,而不是jQuery对象)的第一件事就是调用“.indexOf()” 。如果传入的值为null,那么您将立即收到错误。