4个dropdownlist   要绑定的数据一样: 
text   value 
1         string1 
2         string2 
3         string3 
4         string4 
第一个绑定第一条数据   (text,value) 
第二个绑定第二条数据     。 
 
这已经实现,在此基础上如果进行操作的话   譬如 
dropdownlist1选择   2的话   我想要把dropdownlist2   的SelectedItem.Text变成1 
形成互斥选择, 
dropdownlist1   2 
dropdownlist2   1 
...... 
接下来也如此     每次选择之后能让这一组dropdownlist的text值没有相同的。 
求高手赐教

解决方案 »

  1.   

    假如你有下面的DropDownLis生成的HTML代码:<body onload="init()">
        <form id="form1" action="">
            <select id="Select1" onchange="changeIt(this)">
                <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 id="Select2" onchange="changeIt(this)">
                <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 id="Select3" onchange="changeIt(this)">
                <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 id="Select4" onchange="changeIt(this)">
                <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>
        </form>
    </body>
    code]并且有下面的Javascript代码:[code=JScript]
    var selectCollection = new Array();
    function changeIt(o){
        
        var index = 0;
        // find selected index
        for(var i=0;i<=selectCollection.length-1;i++){
            if(selectCollection[i].id == o.id){
                index = o.options.selectedIndex;
            }
        }
        
        // set other selected index
        for(var i=0;i<=selectCollection.length-1;i++){
            if(o.id != selectCollection[i].id){
                if(index >= 4){
                    index = 0;
                }
                else{
                    index = index + 1;
                }
                selectCollection[i][index].selected = true;
            }
        }
    }function init(){
        var oselect1 = document.getElementById("select1");
        var oselect2 = document.getElementById("select2");
        var oselect3 = document.getElementById("select3");
        var oselect4 = document.getElementById("select4");
        selectCollection.push(oselect1);
        selectCollection.push(oselect2);
        selectCollection.push(oselect3);
        selectCollection.push(oselect4);
    }可以实现简单的互斥选择的功能,这样后面的一项总是前面一项的下一项,当然你可以将代码实现的更复杂,可以选择随即项但是这里我只给出简单变化索引的实现方法,可作适当参考。
      

  2.   

    假如你有下面的DropDownLis生成的HTML代码:<body onload="init()">
        <form id="form1" action="">
            <select id="Select1" onchange="changeIt(this)">
                <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 id="Select2" onchange="changeIt(this)">
                <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 id="Select3" onchange="changeIt(this)">
                <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 id="Select4" onchange="changeIt(this)">
                <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>
        </form>
    </body>
    code]并且有下面的Javascript代码:[code=JScript]
    var selectCollection = new Array();
    function changeIt(o){
        
        var index = 0;
        // find selected index
        for(var i=0;i<=selectCollection.length-1;i++){
            if(selectCollection[i].id == o.id){
                index = o.options.selectedIndex;
            }
        }
        
        // set other selected index
        for(var i=0;i<=selectCollection.length-1;i++){
            if(o.id != selectCollection[i].id){
                if(index >= 4){
                    index = 0;
                }
                else{
                    index = index + 1;
                }
                selectCollection[i][index].selected = true;
            }
        }
    }function init(){
        var oselect1 = document.getElementById("select1");
        var oselect2 = document.getElementById("select2");
        var oselect3 = document.getElementById("select3");
        var oselect4 = document.getElementById("select4");
        selectCollection.push(oselect1);
        selectCollection.push(oselect2);
        selectCollection.push(oselect3);
        selectCollection.push(oselect4);
    }可以实现简单的互斥选择的功能,这样后面的一项总是前面一项的下一项,当然你可以将代码实现的更复杂,可以选择随即项但是这里我只给出简单变化索引的实现方法,可作适当参考。
      

  3.   

    随机选取可以用Random 对象
    回传事件中
    Random r=new Random();
    dropdownlist1.SelectedIndex=r.Next(dropdownlist1.Items.Count+1);
      

  4.   

    关键是多个 我任意一个dropdownlist id=A 选text1 之后 要找到原来选择text1的dropdownlist 然后把它的selectIndex 改成现在A之前的那个Index 
    这样就不会有重复了。每次都能进行这种操作 。 关键是保存了不了前一次的dropdownlist的值供修改之后进行比较。