Javascript parseInt - 代码 运行 4 次
Javascript parseInt - Code running 4 times
对于此函数,我正在尝试计算 $r 变量的结果并将它们显示在表单输入文本字段中,"otherHtmlIdName"。
if 语句检查它们是否都有值,然后获取计算变量的值并更改输入字段。效果很好,问题是它连续工作 4 次,每个 parseInt()
.
一次
有什么方法可以只运行一次吗?我也试过 parseFloat
和 Number
。没有帮助。
[编辑]:这不是因为 parseInt 而发生的。我在我的代码中调用了这个 ID 上的点击函数 4 次。
$("#htmlIdName").click(function () {
var variableName = parseInt($r.ab3, 10) - parseInt($r.ab4, 10) + parseInt($r.sb3, 10) + parseInt($r.sb4, 10);
if ($r.ab3 && $r.ab4 && $r.sb3 && $r.sb4) {
$("#otherHtmlIdName").val(variableName);
$("#otherHtmlIdName").change();
};
});
如果您询问如何防止调用 parseInt()
4 次,您可以像这样使用 map
函数:
$("#htmlIdName").click(function() {
//convert object of strings to array of ints
var arr = $.map($r, function(el) {
return +el
});
//perform same calculations as before
var variableName = arr[0] - arr[1] + arr[2] + arr[3];
if ($r.ab3 && $r.ab4 && $r.sb3 && $r.sb4) {
$("#otherHtmlIdName").val(variableName);
$("#otherHtmlIdName").change();
};
});
工作示例:
尝试:
$("#htmlIdName").off().on('click', function() {
/* Your code here */
});
对于此函数,我正在尝试计算 $r 变量的结果并将它们显示在表单输入文本字段中,"otherHtmlIdName"。
if 语句检查它们是否都有值,然后获取计算变量的值并更改输入字段。效果很好,问题是它连续工作 4 次,每个 parseInt()
.
有什么方法可以只运行一次吗?我也试过 parseFloat
和 Number
。没有帮助。
[编辑]:这不是因为 parseInt 而发生的。我在我的代码中调用了这个 ID 上的点击函数 4 次。
$("#htmlIdName").click(function () {
var variableName = parseInt($r.ab3, 10) - parseInt($r.ab4, 10) + parseInt($r.sb3, 10) + parseInt($r.sb4, 10);
if ($r.ab3 && $r.ab4 && $r.sb3 && $r.sb4) {
$("#otherHtmlIdName").val(variableName);
$("#otherHtmlIdName").change();
};
});
如果您询问如何防止调用 parseInt()
4 次,您可以像这样使用 map
函数:
$("#htmlIdName").click(function() {
//convert object of strings to array of ints
var arr = $.map($r, function(el) {
return +el
});
//perform same calculations as before
var variableName = arr[0] - arr[1] + arr[2] + arr[3];
if ($r.ab3 && $r.ab4 && $r.sb3 && $r.sb4) {
$("#otherHtmlIdName").val(variableName);
$("#otherHtmlIdName").change();
};
});
工作示例:
尝试:
$("#htmlIdName").off().on('click', function() {
/* Your code here */
});