我自愿为一个小型非营利组织创建一个影响力计算器,我需要一些关于如何编写它的指导。我尝试创建的计算器类似于这个:http://www.stl.unitedway.org/give/impact-calculator/
我知道html和css,但我是一个完全的新手,当谈到JQuery。我知道我需要的逻辑…首先,使用选择器在输入文本框中选择数字,然后检查它是否是数字。如果是数字,将该数字四舍五入,并在文本框中显示更新后的数字。然后创建一个if else语句来计算他们输入的数字,并根据他们在输入文本下面的div中输入的美元金额输出结果。
我知道要使用的形式选择器:文本,但我不确定如何评估如果他们输入的数字是一个数字,也不确定如何舍入,如何写if和else语句。我知道我可以使用。text()或。html()将结果插入到div中。
我真的很感激任何帮助。我以前从来没有做过编程,但我自愿参加,因为这是一个很好的事业……我认为一个简单的方法是:
- 监听输入元素上的
keyup
事件,然后 - 判断是否为数字
- 如果是,应用一个函数将其评级为"低"、"中"或"高"捐赠
- 如果不是,显示相应的错误信息
标记
<input type="text" id="input" value="5" />
<div id="message"></div>
JavaScript $(function () {
var $input = $("#input");
var $message = $("#message");
var messages = {
"low": "Some message about a low-tier donation",
"medium": "Some message about a medium-tier donation",
"high": "Some message about a high-tier donation",
"error" : "Not a number value :("
};
function donationLevel(amt) {
if (amt <= 25) {
return "low";
} else if (amt > 25 && amt <= 50) {
return "medium";
} else if (amt > 50) {
return "high";
}
}
$input.bind({
'keyup': function () {
var number = $(this).val();
var isNumber = !isNaN(number);
if (isNumber) {
$message.text(messages[donationLevel(number)]);
}
else {
$message.text(messages["error"]);
}
}
});
// Since we pre-filled our input with "5",
// trigger the keyup so we get our message
$input.trigger('keyup');
});