项目中有一个搜索条件为积分区间值,既然是区间值,那么第一个值就不能大于第二个值,然后控制输入内容为正整数,假如第二个值小于第一个值,自动换位。

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;
    };
};

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