-10

我正在寻找一个简单的 javascript 代码,它根据用户输入显示日期:

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

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

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

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

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

4

2 回答 2

0

我在这里做了一些假设(就像你的意思是 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('');
    }
});
于 2013-08-15T20:16:50.790 回答
0

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

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 的值都将清除日期显示。

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

希望这可以帮助。

于 2013-08-15T20:42:37.657 回答