所以我现在正在学习jQuery,并且必须根据选择制作贷款计算器,以及验证企业,然后输出结果。
我想确保你们知道我想要做什么,所以我在这里有一个应该发生的事情的流程图:http://i59.tinypic.com/8z02sh.jpg
问题是我不知道如何做到这一点是Jquery。我先前问了一个问题,得到了一些反馈。人们提供的任何代码都没有直接修复我的代码,实际上是有效的。我带了一个名叫“Parody”的人,重写了我的代码。我不再犯错误,现在我正在做的事情对我有意义。问题是,当我输入一个数字,然后单击按钮时,没有任何反应。所以这是我目前的代码。
提前致谢。
http://jsfiddle.net/mL74efjd/1/
HTML -
<h1>Loan Calc</h1>
<form id="salaryForm" name="salaryForm2" method="Post" action="javascript:void(0)">
<label for="salary">Enter your annual salary</label>
<input type="text" name="salary" id="salary">
</form>
<form id="creditform" name="creditForm" method="Post" action="javascript:void(0)">
<p>Please select your Credit Score</p>
<p><input type="radio" name="radio" id="over1" value="0">
<label for="over1">Over 600</label></p>
<p><input checked type="radio" name="radio" id="under1" value="0">
<label for="under1">Under 600</label></p>
</form>
<p> How long have you worked at your current job? </p>
<input class="job" id="job1" name="job" type="radio" value="0">
<label for="job1">I have worked at my current job over 1 year.</label><br>
<br/>
<input checked class="job" id="job2" name="job" type="radio" value="0">
<label for="job2">I have worked at my current job less than 1 year.</label><br>
</form>
<input type="button" id="check" name="check" value="Check">
<div id="message"></div>
JS -
$('#check').click(function()
{
var salary;
var isValid = $('#salaryForm').validate().form();
// if validation passes, display a message
if (isValid)
{
if (salary < 40000)
{
if ($('#over1').is(':checked'))
{
if ($('#job1').is(':checked'))
{
$('#message').html("Loan Approved.")
}
else {
$('#message').html("Loan Denied.")
}
}
else
{
$('#message').html("Loan Denied.")
}
}
else if (salary >= 40000)
{
if ($('#under1').is(':checked'))
{
if ($('#job2').is(':checked'))
{
$('#message').html("Loan denied.")
}
else
{
if ($('#job1').is(':checked'))
$('#message').html("Loan Approved.")
}
}else
{
$('#message').html("Loan Approved.")
}
}
}
});
// form validation
$.validator.setDefaults({
errorElement: "span",
errorClass: "form_error",
errorPlacement: function(error, element){
error.insertAfter(element)
}
});
$.extend($.validator.messages,{
required: "* Required field"
});
$('#salaryForm').validate(
{
rules:
{
salary:
{
required: true,
digits: true,
range: [1, 1000000]
}
}
});
答案 0 :(得分:1)
变量工资未在click方法中初始化。放 -
var salary=$("#salary").val();
还包括小提琴jquery和jquery-validation库
答案 1 :(得分:1)
我认为你还没有添加jQuery验证库。这条线
$('#salaryForm').validate().form();
将给出错误,因为validate()方法不存在。
因此,在html中添加验证库,并为工资变量赋值。
var salary = $("#salary").val();
它会正常工作。