用js实现判断下拉框的值是否重复,   有多个下拉框,选每一个下拉框的时候,其值不能和之前已经存在的下拉框所选的值重复,如果重复将此下拉框的值重置空,开始的想法是,每选择一个下拉框,把值保存在数组中,选下一个下拉框的时候,循环list判断是否重复,重复就置空  由于下拉框可以添加也可以删除,所以如果点了删除,也得需要从数组中把此下拉框的值去掉  

解决方案 »

  1.   

    你增加下拉框的时候给下拉框的id设置有规律的id,如s0、s1、...,并让全局变量++n(如果删除下拉框要记得--n)并给下拉框增加onchange事件,每当触发该事件的时候就循环判断,如:
    var n;
    for(var i = 0; i< n; i++){
    在这里判断每个下拉框的值
    //selectObj[i].value ...
    }
      

  2.   

    一种是 直接获取dom 中相关的下拉框集合,然后遍历判断是否有重复。二是定义结构存储{下拉框ID1:对应的值,下拉框ID2:对应的值,下拉框ID3:对应的值...}添加下拉框就往结构里添加,删除则置空
      

  3.   

    <select onchange="fun(this)">
    <option value=""></option>
    <option value="1">1</option>
    <option value="2">3</option>
    <option value="3">3</option>
    <option value="4">4</option>
    <option value="5">5</option>
    </select>
    <select onchange="fun(this)">
    <option value=""></option>
    <option value="5">5</option>
    <option value="6">6</option>
    <option value="7">7</option>
    <option value="8">8</option>
    <option value="9">9</option>
    </select>
    <script type="text/javascript">
    function fun(o)
    {
    var options = document.getElementsByTagName("option");for(var i = 0 ; i < options.length; i ++)
    {
    op = o.options[o.selectedIndex]
    if(!options[i].selected) continue;
    if(op != options[i] && options[i].value == o.value)
    {
    o.value=""
    return;
    }
    }
    }
    </script>