【问题标题】:DropDown and TextBox logicDropDown 和 TextBox 逻辑
【发布时间】:2016-05-24 15:51:41
【问题描述】:

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

我有一个名为“frequencyList”的下拉列表 其中包含以下值 - “每小时”、“每天”、“每周”、“每月”

我有一个名为“frequencyCount”的文本框 必须只接受数字。

现在我需要的逻辑是—— 如果用户从下拉菜单中选择“每小时”选项 TextBox 只能接受 1-23 之间的整数值,否则会抛出错误,

如果用户选择“每日”,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");
            }
        }
    }
});

【问题讨论】:

    标签: javascript jquery html logic


    【解决方案1】:

    试试这个,对你有帮助

    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();
      }
    }
    <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();" />

    【讨论】:

      猜你喜欢
      • 2014-12-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-14
      • 1970-01-01
      相关资源
      最近更新 更多