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值没有相同的。
求高手赐教
text value
1 string1
2 string2
3 string3
4 string4
第一个绑定第一条数据 (text,value)
第二个绑定第二条数据 。
这已经实现,在此基础上如果进行操作的话 譬如
dropdownlist1选择 2的话 我想要把dropdownlist2 的SelectedItem.Text变成1
形成互斥选择,
dropdownlist1 2
dropdownlist2 1
......
接下来也如此 每次选择之后能让这一组dropdownlist的text值没有相同的。
求高手赐教
<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);
}可以实现简单的互斥选择的功能,这样后面的一项总是前面一项的下一项,当然你可以将代码实现的更复杂,可以选择随即项但是这里我只给出简单变化索引的实现方法,可作适当参考。
<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);
}可以实现简单的互斥选择的功能,这样后面的一项总是前面一项的下一项,当然你可以将代码实现的更复杂,可以选择随即项但是这里我只给出简单变化索引的实现方法,可作适当参考。
回传事件中
Random r=new Random();
dropdownlist1.SelectedIndex=r.Next(dropdownlist1.Items.Count+1);
这样就不会有重复了。每次都能进行这种操作 。 关键是保存了不了前一次的dropdownlist的值供修改之后进行比较。