前端开发中经常会遇到 input 取值区间的需求,比如搜索的时候,价格区间,积分值区间

大致的需求为 input 的值必须是正整数,第二个 input 的值必须大于第一个

dom结构如下:

<div id="box">
<label >所需积分:</label>
<div class="input_box">
<input id="input1" type="text" oninput="inputChange(this)" onchange="compare()" />
<span class='m05'>-</span>
<input id="input2" type="text" oninput="inputChange(this)" onchange="compare()" />
</div>
</div>

js代码如下:

function inputChange(ele){
ele.value = ele.value.replace(/\D+/,'').replace(/^0*/g,'');
};
function compare(){
// 获取输入框的值
var input1 = document.getElementById('input1');
var input2 = document.getElementById('input2');
// 输入框的值转为Number类型
var num1 = parseInt(input1.value);
var num2 = parseInt(input2.value);
// 如果第二个值小于第一个则互换
if(num2!=0 && num1>num2){
var temporaryValue = num1;
num1 = num2;
num2 = temporaryValue;
input1.value = num1;
input2.value = num2;
};
};

整个方法主要为两部分:

1. 利用 oninput 方法在输入的时候控制输入内容必须是数字,且第一个数字不能为0

2. 利用 onchange 方法在 input 输入完成后比较两个 input 的值,如果第一个大于第二个,则互换

如有表述不准确之处,欢迎指正,欢迎补充,感谢阅读。

input取值区间实例的更多相关文章

  1. 特征不同取值/区间下 label 的均值曲线

    def two_plot(df, feat, tick_label=None, rotate_tick=60): print('\n### 不同取值/区间下 label 的均值曲线') fig, ax ...

  2. 翻页bug 在接口文档中应规范参数的取值区间 接口规范

    <?php$a=array("red","green","blue","yellow","brown&q ...

  3. 翻页bug 在接口文档中应规范参数的取值区间

    <?php$a=array("red","green","blue","yellow","brown&q ...

  4. Easyui input 取值跟赋值

    var val = $("#id").textbox('getValue')  //取值 $("#id").textbox('setValue','text') ...

  5. input取值

    ----------------------------1------------------------------ <span class="lv-a-right" id ...

  6. div赋值,取值和input赋值,取值

    一.div取值 <div id="txtXiaofei" class="txt-panel">你好</div> 获取div的值$(&qu ...

  7. 关于oracle分组排序取值的问题

    按照 某字段分组 某字段排序 然后取出该分组中排第1条数据(每组只取一条) SELECT* FROM( SELECT a.*,row_number() over(partition by ORI_FE ...

  8. C语言数据类型取值范围解析

    版权声明:本文为博主原创文章,未经博主允许不得转载.   为什么int类型的取值范围会是-2^31 ~ 2^31-1  ,为什么要减一呢? 计算机里规定,8位二进制为一个字节,拿byte来说,一个BY ...

  9. jQuery对html元素的取值与赋值实例详解

    jQuery对html元素的取值与赋值实例详解 转载  2015-12-18   作者:欢欢   我要评论 这篇文章主要介绍了jQuery对html元素的取值与赋值,较为详细的分析了jQuery针对常 ...

随机推荐

  1. visual Studio 无法调试,提示程序跟踪已退出

    今天在打码出现了vs无法调试,我在网上查了很久没有发现一个方法. vs点击启动时,出现了一下提示 程序"[12648] *.vshost.exe: 程序跟踪"已退出,返回值为 0 ...

  2. 起名字好难啊!(初识Django)

    这次我们将实现一个简单的登录注册功能,并吧相应的数据写入数据库: 做这件事之前我已经在数据库中新建了两张表(当然一张表也可以用,先注册后登录嘛···)    两张结构很简单的数据表:↓ 接下来就该干正 ...

  3. ubuntu下MySQL修改root密码的多种方法,phpmyadmin空密码无法登陆的解决方法

    phpmyadmin是默认不允许使用空密码的,所以若是在安装时没有设置密码,在登陆phpmyadmin时是个很头疼的问题 方法1是修改phpmyadmin的配置文件,这里不做推荐.. 方法2: php ...

  4. UVa1630,Folding

    区间dp,记忆化搜就可以 st为原串 dp[p][q]存st[p]~st[q]的最优长度,f[p][q]存对应的最优串 从(0,len-1)开始搜,f[0][len-1]为所求ans,回溯条件为p== ...

  5. java四大会话技术

    未经作者允许,不得转载 第一cookie技术 常用方法: new Cookie(),构造一个cookie getName() ,获取cookie的名字 getValue () ,取到具体cookie的 ...

  6. Locust性能测试框架,从入门到精通

    1. Locust简介 Locust是使用Python语言编写实现的开源性能测试工具,简洁.轻量.高效,并发机制基于gevent协程,可以实现单机模拟生成较高的并发压力. 主要特点如下: 使用普通的P ...

  7. 使用spark与MySQL进行数据交互的方法

    在项目中,遇到一个场景是,需要从Hive数据仓库中拉取数据,进行过滤.裁剪或者聚合之后生成中间结果导入MySQL. 对于这样一个极其普通的离线计算场景,有多种技术选型可以实现.例如,sqoop,MR, ...

  8. Azure 基础:使用 powershell 创建虚拟机

    在进行与 azure 相关的自动化过程中,创建虚拟主机是避不开的操作.由于系统本身的复杂性,很难用一两条简单的命令完成虚拟主机的创建.所以专门写一篇文章来记录使用 PowerShell 在 azure ...

  9. git合并代码解决冲突

    一直测试的我,之前有接触过git命令,但是没有详细的去看这些命令的意思,只是背着在用,今天一时兴起,看到了廖雪峰的git方面的博客<a href="https://www.liaoxu ...

  10. Android的主线程和子线程

    在一个Android 程序开始运行的时候,会单独启动一个Process.默认的情况下,所有这个程序中的Activity或者Service(Service和 Activity只是Android提供的Co ...