多个select 如何使用js 控制select 不能选择重复的值

JavaScript010

多个select 如何使用js 控制select 不能选择重复的值,第1张

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

 <head>

  <title> New Document </title>

  <meta name="Generator" content="EditPlus">

  <meta name="Author" content="">

  <meta name="Keywords" content="">

  <meta name="Description" content="">

 </head>

<script type="text/javascript">

<!--

window.onload = function(){

document.getElementsByTagName('button')[0].onclick = function(){

// 不能有相同取值的下拉列表集合

var items = document.getElementsByTagName('select'),

   len = items.length,

   i = 0,

   valMap = {},

   sel,

   val

// 遍历并保存各个下拉列表的值于valMap

for( i < len i++){

sel = items[i]

val = sel.options[sel.selectedIndex].value

// 没有相同的取值时保存该值,否则返回false

if(!valMap[val]){

valMap[val] = 1

}else{

alert('存在取值相同的下拉列表,取值为:' + val)

return false

}

}

// 校验通过,全部都不相同

return true

}

}

//-->

</script>

 <body>

 <button>Check</button>

  <select>

<option value="1">1</option>

<option value="2">2</option>

<option value="3">3</option>

<option value="4">4</option>

<option value="5">5</option>

  </select>

  <select>

<option value="1">1</option>

<option value="2">2</option>

<option value="3">3</option>

<option value="4">4</option>

<option value="5">5</option>

  </select>

  <select>

<option value="1">1</option>

<option value="2">2</option>

<option value="3">3</option>

<option value="4">4</option>

<option value="5">5</option>

  </select>

  <select>

<option value="1">1</option>

<option value="2">2</option>

<option value="3">3</option>

<option value="4">4</option>

<option value="5">5</option>

  </select>

  <select>

<option value="1">1</option>

<option value="2">2</option>

<option value="3">3</option>

<option value="4">4</option>

<option value="5">5</option>

  </select>

  <select>

<option value="1">1</option>

<option value="2">2</option>

<option value="3">3</option>

<option value="4">4</option>

<option value="5">5</option>

  </select>

  <select>

<option value="1">1</option>

<option value="2">2</option>

<option value="3">3</option>

<option value="4">4</option>

<option value="5">5</option>

  </select>

 </body>

</html>

看你的意思是只能输入1.0-10.0的数

<input type="text" onchange="limitInput(this)" />

<script type="text/javascript">

function limitInput(o){

    //Number()方法能保留小数点后的值,你用parseInt(),如果输入10.1,会变成10

    var value = Number(o.value)

    if( value<1 || value>10){

alert("请输入1-10之间数字")

o.value=""

     }else{

        //匹配1.0-10.0的数

       var reg = new RegExp(/^\d{1,2}(\.\d)?$/)

        if(reg.test(value)){

        return true

        }else{

        alert("输入错误!")

        return false    

        }

     }    

}