DropDown和TextBox逻辑

时间:2016-02-13 13:30:33

标签: javascript jquery html logic

我编写了一个简单的可靠逻辑

我有一个名为" frequencyList"的DropDown列表 其中包含如下值 "每小时","每日","每周","每月"

我的文本框名为" frequencyCount" 必须只接受数字。

现在我需要的逻辑是 - 如果用户选择"每小时" DropDown中的选项 TextBox必须只接受1-23 else throw error,

之间的整数值

如果用户选择"每日",TextBox仅接受1-30 ,依此类推

所以这是我迄今为止的错误逻辑,请纠正我 -

$("#frequencyCount").keypress(function(e) 
{
    //if the letter is not digit then display error and don't type anything
    if (e.which != 8 && e.which != 0 && (e.which < 48 || e.which > 57)) 
    {
        console.log("Invalid Input, It's not Digits");
    } 
    else 
    {
        //Input is Digits for sure now
        if (frequecyList == "Daily") 
        {
            if (frequencyCount >= 1 && frequencyCount <= 30) 
            {
                console.log("Valid Daily input");
            } 
            else 
            {
                console.log("Invalid frequency");
            }
        }
    }
});

1 个答案:

答案 0 :(得分:0)

试试这个,它会帮助你

&#13;
&#13;
function validate() {
  var freq = $("#frequency").val();
  var num = $("#fvalue").val();
  var error = 0;

  if(freq==1 && (num <1 || num >23) ) {
    error = 1;					
  }
  else if(freq==2 && (num <1 || num > 30) ) {
    error = 1;
  }

  if(error==1)
  {
    alert("error");
    $("#fvalue").val('');
    $("#fvalue").focus();
  }
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<select id="frequency">
  <option value="1">Hourly</option>
  <option value="2">Daily</option>
  <option value="3">Weekly</option>
  <option value="4">Monthly</option>
</select>
<input type="number" id="fvalue" onblur="validate();" />
&#13;
&#13;
&#13;