要求:在一个页面上有3个select标签,其名称分别为a1,a2,a3,这三个的option都一样,如下:
<select name=a1>
<option value=1>1</option>
<option value=2>2</option>
<option value=3>3</option>
<option value=4>4</option>
</selecte><select name=a2>
<option value=1>1</option>
<option value=2>2</option>
<option value=3>3</option>
<option value=4>4</option>
</selecte><select name=a2>
<option value=1>1</option>
<option value=2>2</option>
<option value=3>3</option>
<option value=4>4</option>
</selecte>
要求有点复杂: a1,a2,a3的选择结果要每个都不一样,只要其中任何一个被选中,其他的2个都不能再次被选择

解决方案 »

  1.   

    <script type="text/javascript">
    function mycheck(){
      if($(this).val()!='0'){
        var a1=$('#a1').val();
        var a2=$('#a2').val();
        var a3=$('#a3').val();
        if(a1==a2)$('#a2').val('0');
        if(a1==a3)$('#a3').val('0');
        if(a2==a3)$('#a3').val('0');
      }
    }
    </script>
    <select name='a1' id='a1' onclick="mycheck()">
    <option value='0'>请选择</option>
    <option value='1'>1 </option> 
    <option value='2'>2 </option> 
    <option value='3'>3 </option> 
    <option value='4'>4 </option> 
    </select> <select name='a2' id='a2' onclick="mycheck()">
    <option value='0'>请选择</option> 
    <option value='1'>1 </option> 
    <option value='2'>2 </option> 
    <option value='3'>3 </option> 
    <option value='4'>4 </option> 
    </select> <select name='a3' id='a3' onclick="mycheck()">
    <option value='0'>请选择</option> 
    <option value='1'>1 </option> 
    <option value='2'>2 </option> 
    <option value='3'>3 </option> 
    <option value='4'>4 </option> 
    </select> 
      

  2.   

    $('select').change(function(){
    $('select option').show();
    $('select').each(function(){
    $('select').not(this).children('[value='+this.value+']').hide();
    });
    });同上,最好在每个select下加上一个空的option,否则一来就是3个1了