我正在尝试使用jquery全球化插件执行此操作,但是在浏览器中失败(客户端脚本错误,indexOf()

var newquantity = $.global.parseFloat(edititem.find('td.edititem-quantity > input'));


我曾经使用过像这样的jquery计算插件:

var newdiscount = edititem.find('td.edititem-discount > input').parseNumber();


并且它起作用了,但是由于它具有一些i18n选项,因此我正在转向jquery全球化,并且我想只使用这两个插件之一,而不是在同一站点上使用它们。

为什么第一个失败?

最佳答案

我猜您可能想要:

var newquantity = $.global.parseFloat(edititem.find('td.edititem-quantity > input').val());


获取<input>元素的值。

编辑—更新:有时值可能为null:

var newquantity =
  $.global.parseFloat(edititem.find('td.edititem-quantity > input').val() || '');


查看全球化的“ parseFloat()”函数的源代码,它对第一个参数(实际上必须是字符串,而不是jQuery对象)所做的第一件事就是调用“ .indexOf()”。如果传入的值为null,则将立即收到错误。

07-26 04:24