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
... ... ...
- 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)) ,由于以下两个原因无法工作:
- $ total未在文档中的任何位置定义
- document.write()清除已加载的文档(这就是document.write的工作方式)
你可以用$('#rate')来逃避.html($ rate)
最后,我建议您使用Firebug来调试代码,因为其中一些错误肯定会出现在那里;-)