jQuery:未捕获的类型错误:无法读取未定义的属性“值”
2013-04-24
1130
在下面的脚本中,当我在控制台中运行它时,在其中一个 customFields 输入中键入时,它会返回一个错误:
Uncaught TypeError: Cannot read property 'value' of undefined
有人看到什么问题吗?
jQuery(document).ready(function () {
jQuery("#customfield_21070").attr('style', 'width:60px');
var customfields = '#customfield_11070,#customfield_11071,#customfield_20071,#customfield_20072,#customfield_20073,#customfield_20074';
jQuery(customfields).keyup(function () {
calculateSum.call(this);
});
function calculateSum(param) {
var sum = 0;
if (!isNaN(param.value) && param.value.length != 0 && param.id !== "customfield_21070") {
sum += parseFloat(param.value);
}
jQuery("#customfield_21070").val(sum.toFixed(2));
}
});
1个回答
calculateSum(this)
而不是
calculateSum.call(this)
解释
.call()
的第一个参数实际上并不是将参数传递给您实际调用的函数。它定义了函数
内部
的关键字
this
是什么。
参考: https://developer.mozilla.org/en/docs/JavaScript/Reference/Global_Objects/Function/call
Terry Young
2013-04-24