Javascript 基于三个元素更改div内容

Javascript 基于三个元素更改div内容,javascript,jquery,methods,Javascript,Jquery,Methods,嘿,伙计们, 我是jQuery/js新手,很难弄明白这一点。 在我的表格中有两个字段,我想用它们做一些计算,我尝试的是: jQuery.fn.calculateit = function(){ var one = $("#one").val(); var two = $("#two").val(); //total var total = one + two; $("#total").text(total); }; “1”和“2”的值可以随时改变

嘿,伙计们, 我是jQuery/js新手,很难弄明白这一点。 在我的表格中有两个字段,我想用它们做一些计算,我尝试的是:

jQuery.fn.calculateit = function(){

    var one = $("#one").val();

    var two = $("#two").val();

    //total
    var total = one + two;
    $("#total").text(total);

};
“1”和“2”的值可以随时改变,每次发生这种情况时,我都希望总数改变。所以我写了上面的方法,但我不知道如何在这两个字段发生任何事情时调用它

有什么想法吗

也许我走错了方向,所以欢迎任何建议

谢谢

给你:

$("#one, #two").change(function() {
    calculateit();
});

var calculateit = function() {

    var one = parseInt($("#one").val(), 10);
    var two = parseInt($("#two").val(), 10);

    //total
    var total = one + two;
    $("#total").text(total);

};
或者,如果愿意,您可以将
calculateit
添加到
jQuery.fn
并使用
$.calculateit()调用它

或者,更简洁地说:

$("#one, #two").change(function() {

    var one = parseInt($("#one").val(), 10);
    var two = parseInt($("#two").val(), 10);

    //total
    var total = one + two;
    $("#total").text(total);

});

或者您可以使用:
$('one,'two')使其更简洁一些
为了安全起见,我建议在将返回值添加到一起之前,对返回值调用
parseInt()
parseFloat
。否则,您可能会连接两个字符串,而不是添加它们的数值。+1-但是,如果您使用parseInt,则必须包含
10
=>
parseInt($(“#one”).val(),10)
否则以
0开头的数字将假定为八进制@彼得:再次更新了我的答案。还有一个问题:当“一”和“二”是滑块时,我如何触发更改事件?它不能以下面描述的方式工作,我不知道如何将它们称为“在一起”。。