项目中有一个搜索条件为积分区间值,既然是区间值,那么第一个值就不能大于第二个值,然后控制输入内容为正整数,假如第二个值小于第一个值,自动换位。
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; }; };
如有表述不准确之处,欢迎指正,欢迎补充,感谢阅读。