1

我进行了搜索,甚至使用了JQuery: Change value when value of other input field is changed 之类的答案,我一直无法弄清楚这一点。

我正在尝试根据 HTML 表单输入进行一些数学运算。当用户在第一个和第二个字段中输入数字时,我希望它自动计算到第三个字段以显示总数。

我的表单代码是:

<div id="makingARecurringGift">
    Enter Recurring Gift Amount: $<input type="number" min="0" name="recurringDonationValue" id="recurringDonationValue" size="15" value="0" /><br />
    I would like to make this gift for <input type="number" min="0" max="60" name="numberOfMonths" id="numberOfMonths" size="15" value="0" /> months.<br />
    Total Gift Amount of $<input type="number" min="0" value="0" name="totalRecurringDonationValue" />.
</div>

我试图运行的 javascript 是:

function replaceRecurringDonationValue() {
    //make our variables so we don't forget
    var perDonationValue = 0;
    var numberOfMonths = 0;
    var TotalRecurringDonationValue = 0;

    //give them their correct values
    perDonationValue = $("#recurringDonationValue").val();
    numberOfMonths = $("#numberOfMonths").val();

    //ensure that the maximum number of months is enforced.
    if(numberOfMonths > 60) {
        alert("Donations can last for a maximum of 60 months.");
        $("#numberOfMonths").val(60);
    }

    TotalRecurringDonationValue = perDonationValue * numberOfMonths;

    $("#TotalRecurringDonationValue").val(TotalRecurringDonationValue);
}
$("#recurringDonationValue").change(replaceRecurringDonationValue());
$("#numberOfMonths").change(replaceRecurringDonationValue());

如果您想查看完整的主页源代码: http: //pastebin.com/aLMqYuxc 和完整的 javascript 源代码是: http: //pastebin.com/FvviPHhj

对不起,如果这是一个愚蠢的问题,谢谢大家的帮助。我仍在努力解决这个问题。

4

2 回答 2

1

尝试改变这个:

$("#recurringDonationValue").change(replaceRecurringDonationValue());

对此:

  $("#recurringDonationValue").change(function(){
                                          replaceRecurringDonationValue();
                                       });

还有这个:

$("#numberOfMonths").change(replaceRecurringDonationValue());

对此:

$("#numberOfMonths").change(function(){
                               replaceRecurringDonationValue()
                               });

安德斯的好声音,

更好地结合两个选择器,例如

 $("#recurringDonationValue, #numberOfMonths").change(function(){
                                              replaceRecurringDonationValue();
                                           });

更少的代码保持干燥(不要重复自己):)

于 2012-12-07T16:06:32.300 回答
1

三件事...

改变这个:

Total Gift Amount of $<input type="number" min="0" value="0" name="totalRecurringDonationValue" />.

对此:

Total Gift Amount of $<input type="number" min="0" value="0" id="totalRecurringDonationValue" />.

改变这个:

$("#TotalRecurringDonationValue").val(TotalRecurringDonationValue);

对此:

$("#totalRecurringDonationValue").val(TotalRecurringDonationValue);

最后,改变这个:

$("#recurringDonationValue").change(replaceRecurringDonationValue());
$("#numberOfMonths").change(replaceRecurringDonationValue());

对此:

$("#recurringDonationValue,#numberOfMonths").change(replaceRecurringDonationValue);
于 2012-12-07T16:09:11.833 回答