jQuery数学和变量

我正在尝试获取一个变量(文本输入的值)并对其进行数学运算,然后将结果输出到另一个元素。

我遇到了一些问题,即它不起作用。

这是我的代码 – http://slexy.org/view/s2TIOA5FKw 。

$('#element_3').val() 

使用输入字段时,需要使用.val来检索其值。

编辑要明确,“需要使用”我说它比现有代码更好, var $months = $('#element_3') 。 如果我描绘必要性的方式不准确,我道歉。


基于我可以拼凑的东西,这就是我提出的。 我这就是你要找的东西。 如果没有,我希望它至少是你的解决方案的一步(并帮助你理解jQuery如何工作)。 如果您有任何问题,请对post发表评论,我会尽力回答。

从这开始: http : //www.jsfiddle.net/zzd3K/3/ (工作示例)
[评论版]

评论和工作,修复了#element_1 .bind() (拼写错误,“kepress” – >“keypress”)

HTML

    ...  ...   ... 
Configured Values
Ad:
Name:
Ad Image URL:
Months:


  • Ad Selected: #
  • Your Name:
  • Your Image URL:
  • Your total is $.00 at a rate of $.00 per month for months.
...

(不介意字段集,我用它来模拟你的控件)

尝试使用JavaScript函数parseInt。

尝试这样的东西var newVal = parseInt($(’#sourcElement’)。val());

首先,建议至少启动脚本部分:

  

...某些系统可能会将脚本标记分配给VBScript,因此您的JS无法在那里工作。

其次,上面的注释是正确的 - 你需要使用.val()来检索一个值,这可能是你在这里尝试做的:

 var $months = $('#element_3'); 

...应该读取:

 var $months = parseInt($('#element_3').val()); // check if the value if an integer and reset it to 0 if it's not if (isNaN($months)) { $months = 0; } 

... 要么:

 var $months = $('#element_3').length; 

(我不能确切地说,因为我在页面上看不到#element_3 - 它可以是下拉列表或文本框)

然后, 第34行包含: $('#total')。html(document.write($ total)) ,由于以下两个原因无法工作:

  1. $ total未在文档中的任何位置定义
  2. document.write()清除已加载的文档(这就是document.write的工作方式)

你可以用$('#rate')来逃避.html($ rate)

最后,我建议您使用Firebug来调试代码,因为其中一些错误肯定会出现在那里;-)