我正在尝试使用 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>
元素的值。
编辑 — 更新:有时值可能为空:
var newquantity =
$.global.parseFloat(edititem.find('td.edititem-quantity > input').val() || '');
查看全局化“parseFloat()”函数的源代码,它对第一个参数(实际上必须是字符串,而不是 jQuery 对象)所做的第一件事是调用“.indexOf()” .如果传入的值为 null,则会立即出现错误。
关于javascript - jquery 全局插件解析输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5723505/