Javascript/Jquery - 如果介于之间的数字显示 [关闭]

Posted

技术标签:

【中文标题】Javascript/Jquery - 如果介于之间的数字显示 [关闭]【英文标题】:Java Script/Jquery - If numbers beteen then show [closed] 【发布时间】: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 :( 没问题。尽管如此,我还是看不到这种关系。我试图了解您是从这些数字范围生成日期,还是下面的答案是您要查找的内容,其中硬编码日期根据条件显示。 【参考方案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 代码的几点说明:

    对元素的引用已保存到变量中。这比让 jQuery 一遍又一遍地遍历 DOM 效率更高。 我添加了一项检查,以确保用户输入的内容实际上是一个数字,而不是 NaN(或不是数字)。这将防止您的代码在用户输入无用信息时中断。 最后,使用您提供的数字构建了一个条件。任何大于 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

以上是关于Javascript/Jquery - 如果介于之间的数字显示 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如果无法使用 Javascript/jQuery 加载视频,则隐藏视频容器

JavaScript jQuery如果使用.is语句

javascript/jquery 向 url 添加斜杠(如果不存在)

如果有超链接,则更改列表样式类型 - 没有 javascript/jQuery [重复]

如果有超链接,则更改列表样式类型 - 没有 javascript/jQuery [重复]

如果一个事件触发了随机次数,我如何在 Javascript/Jquery 中捕获最后一个?