【问题标题】:Java Script/Jquery - If numbers beteen then show [closed]Javascript/Jquery - 如果介于之间的数字显示 [关闭]
【发布时间】:2013-08-18 03:08:09
【问题描述】:

我正在寻找一个基于用户输入显示日期的简单 javascript 代码:

<form id="from" name="form">
<input id="unidno" name="unidno" onkeyup="txtpercentage()" >
</from>

<div id="spanResult"></div>

如果用户输入一个介于 1 和 1,000 之间的数字,那么它应该在 spanResult div 中显示 10.10.2013

如果用户输入一个介于 1,001 和 10,000 之间的数字,那么它应该在 spanResult div 中显示 20.12.2013

很抱歉让你为我写一些东西……但我不擅长 javascript/jquery。请帮助我...这也可以帮助其他人。

【问题讨论】:

  • 我不明白你在这里问什么。
  • 查询不精确...
  • 请原谅我的无知,但是 1-1000 和 10.10.2013 之间的关系是什么?同样,1001-1000 和 20.12.2013 之间的关系是什么?这些数字范围如何与您给出的日期相对应?
  • @War10ck 对不起它的 1001 到 10000 :(
  • 没问题。尽管如此,我还是看不到这种关系。我试图了解您是从这些数字范围生成日期,还是下面的答案是您要查找的内容,其中硬编码日期根据条件显示。

标签: javascript jquery html


【解决方案1】:

不太确定你想要什么,但我认为这应该可行:

HTML:

<div>
    <p>Enter a number:</p>
    <input type="text" />
</div>
<div>
    <span></span>
</div>

JavaScript:

var $input = $('input'),
    $span = $('span');

$input.keyup(function (e) {
    var num = parseInt($(this).val());
    if(typeof num == "number" && !isNaN(num)) {
        if(num > 0 && num <= 1000) {
            $span.text("10.10.2013");
        } else if(num > 1000 && num <= 10000) {
            $span.text("20.12.2013");
        } else {
            $span.text("");   
        }
    }
});

我知道 HTML 与您的不完全匹配,但可以轻松修改代码以支持您的结构。

关于上述 JavaScript 代码的几点说明:

  1. 对元素的引用已保存到变量中。这比让 jQuery 一遍又一遍地遍历 DOM 效率更高。
  2. 我添加了一项检查,以确保用户输入的内容实际上是一个数字,而不是 NaN(或不是数字)。这将防止您的代码在用户输入无用信息时中断。
  3. 最后,使用您提供的数字构建了一个条件。任何大于 0 且小于或等于 1000 的值都将返回 10.10.2013。任何大于 1000 且小于或等于 10000 的值都将返回 20.12.2013。任何大于 10000 的都将清除日期显示。

Here 是演示上述代码的小提琴。

希望这会有所帮助。

【讨论】:

    【解决方案2】:

    我在这里做了一些假设(就像你的意思是 1001-2000)。这是你需要的吗?

    $('#unidno').keyup(function () {
        if (parseInt($(this).val()) >= 0 && parseInt($(this).val()) <= 1000) {
            $('#spanResult').text('10.10.2013');
        } else if (parseInt($(this).val()) > 1000 && parseInt($(this).val()) <= 2000) {
            $('#spanResult').text('20.12.2013');
        } else {
            $('#spanResult').text('');
        }
    });
    

    【讨论】:

    • Campari 您认为不错,但您需要将 $(this).val() 转换为整数值,如 parseInt($(this).val()),您的代码可能会导致错误,因为 $( this).val() 返回字符串中的值。
    • @Neo 是的,我完全忽略了这一点。在这种情况下特别重要,因为填写字段的是用户,所以很有可能它不会是一个数字。
    • @campari... 非常感谢您尝试了解我的问题。并为您的代码..但没有工作:(请通过提供一些演示jsfiddle链接来帮助我..请兄弟!
    • @Campari bro 选择你的作为最佳答案。请尝试在 jsfiddle 网站中实现这一点。并请给我演示链接兄弟.....这将帮助我
    • @user2671696 没问题,给你:jsfiddle.net/Atde5/1
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-06-29
    • 1970-01-01
    • 2012-03-07
    • 2023-02-17
    • 2023-01-30
    • 2015-08-10
    • 1970-01-01
    相关资源
    最近更新 更多