var x = 1;
var y = 2;
var lol = x+y;
alert(lol);
减法
var x = 10;
var y = 1;
var lol = x-y;
alert(lol);
编辑:现在我们更好地理解了你的问题...
<input type="text" id="field1" value="16" />
<input type="text" id="field2" value="25" />
<input type="text" id="field3" value="36" />
var field1Value = document.getElementById("field1").value;
var field2Value = document.getElementById("field2").value;
var field3Value = document.getElementById("field3").value;
alert(Math.sqrt(field1Value ));
alert(Math.PI * field2Value);
alert(Math.sin(field3Value));
each()
(文档)循环来处理每个单独的输入。
点击此处测试一个工作示例。 (jsFiddle)
$('a.square').click(function() {
$('#myform :text').each(function() {
this.value *= this.value;
});
});
$('a.square_root').click(function() {
$('#myform :text').each(function() {
this.value = Math.sqrt(this.value);
});
});
myform
中的所有text
输入,并对它们进行迭代。this
指向当前的input
元素。$('#myform :text').val(function(i,v) { return v*v; });
可以翻译为: - Šime VidasJavaScript 是一种编程语言,而不是 jQuery,它是一个用 JavaScript 编写的 Web 应用程序库。要有效地使用 jQuery,您需要了解 JavaScript。
然而,可以使用 jQuery 的功能轻松地同时处理多个文本框:
// Set each single-line textbox's value to the square
// of its numeric value, if its value is in fact a number.
$('input:text').each(function() {
var num = +this.value;
if(!isNaN(num)) {
this.value = num * num; // or Math.pow(num, 2)
}
});
如果jQuery有一个reduce()
函数,那将非常有用。
在处理数据列表时,大多数函数式语言,以及现今的大多数传统语言,都有执行整个列表上重复功能的方法,依次取每个元素并对其应用函数。
其中最简单的是map
,它由jQuery为您实现。它接受一个列表并对每个元素应用一个函数,并返回结果列表,每个条目对应一个结果。例如:[1,2,3] -> (map x2) -> [2,4,6]
。
reduce
(或者 fold
)操作的用处。不幸的是,jQuery 没有这个方法可用,所以下面提供了一个插件。一个 reduce
函数接受一个累加器值和当前元素的值,并返回修改后的累加器,它将传递给下一次调用。例如:[1,2,3,4] -> (reduce + [initial:0]) -> 10 = ( ( ( (0 + 1) + 2 ) + 3 ) + 4 )
或者 ([1,2,3,4] -> (reduce * [initial:1]) -> 24 = ( ( ( (1 * 1) * 2 ) * 3 ) * 4 )
。(function($) {
$.reduce = function(arr, callback, initial) {
var accumulator = initial || 0;
$.each(arr, function(index, value) {
accumulator = callback(accumulator, value, index);
});
return accumulator;
}
})(jQuery);
然后你可以像这样使用它来得到一个平方和:
var answer = $.reduce($('input:text'), function(acc, elem) {
var cVal = $(elem).val();
return acc + cVal * cVal;
}, 0);
reduce
的含义。如果他在使用Math库时遇到了麻烦,他可能不理解reduce是什么意思。 - Raynos我也在寻找解决方案,看到了很多这里的问题都无法解决(包括这个),如果有人像我一样想知道,这是我的有效解决方案:
$("#apport").keyup(
function(){
var apport = parseFloat($("#apport").val());
var montant = parseFloat($("#montant-financer").val());
var moinmontant = parseFloat(montant) - parseFloat(apport);
$("#montant-financer").val(moinmontant);
}
);
$('input:text').map(function() {
return this.value * this.value; // math calculation goes here
}).get();
查看实时示例
看到最初发布的问题,它清楚地说明了在不提交表单的情况下计算表单中所有值的平方。
我认为keyup是最好的解决方案。
$("input").keyup(function () {
var value = $(this).val();
var x=value*value;
$("p").text(x);
}).keyup();
点击此处查看工作示例。 http://jsfiddle.net/informativejavascript/Sfdsj/3/
欲了解更多详情,请访问http://informativejavascript.blogspot.nl/