使用jQuery在我的嵌套条件中工作的Nothings

时间:2014-10-22 04:40:27

标签: javascript jquery

所以我现在正在学习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]
    }
  }

});

2 个答案:

答案 0 :(得分:1)

变量工资未在click方法中初始化。放 -

var salary=$("#salary").val();

还包括小提琴jquery和jquery-validation库

答案 1 :(得分:1)

我认为你还没有添加jQuery验证库。这条线

 $('#salaryForm').validate().form();

将给出错误,因为validate()方法不存在。

因此,在html中添加验证库,并为工资变量赋值。

var salary = $("#salary").val();

它会正常工作。