Dropdownlist

xiaoniao_28 2007-12-17 08:52:26
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值没有相同的。
求高手赐教
...全文
120 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
清风一梦 2011-06-29
  • 打赏
  • 举报
回复
学习中
wujuncheng11 2011-06-29
  • 打赏
  • 举报
回复
学习 一下
Glen_qiu 2007-12-17
  • 打赏
  • 举报
回复
用泛型应该比较好解决你说的这种情况
xiaoniao_28 2007-12-17
  • 打赏
  • 举报
回复
有没有好的算法实现?
xiaoniao_28 2007-12-17
  • 打赏
  • 举报
回复
谢谢楼上的。
我学要的就是可以选择随机项的选择 。。。
哪位能再给点参考。。。
cuike519 2007-12-17
  • 打赏
  • 举报
回复
我发誓我只点了一次提交回复。。。
cuike519 2007-12-17
  • 打赏
  • 举报
回复
假如你有下面的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);
}


可以实现简单的互斥选择的功能,这样后面的一项总是前面一项的下一项,当然你可以将代码实现的更复杂,可以选择随即项但是这里我只给出简单变化索引的实现方法,可作适当参考。
cuike519 2007-12-17
  • 打赏
  • 举报
回复
假如你有下面的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);
}


可以实现简单的互斥选择的功能,这样后面的一项总是前面一项的下一项,当然你可以将代码实现的更复杂,可以选择随即项但是这里我只给出简单变化索引的实现方法,可作适当参考。
xiaoniao_28 2007-12-17
  • 打赏
  • 举报
回复
继续请教啊...
xiaoniao_28 2007-12-17
  • 打赏
  • 举报
回复
关键是多个 我任意一个dropdownlist id=A 选text1 之后 要找到原来选择text1的dropdownlist 然后把它的selectIndex 改成现在A之前的那个Index
这样就不会有重复了。每次都能进行这种操作 。 关键是保存了不了前一次的dropdownlist的值供修改之后进行比较。
LutzMark 2007-12-17
  • 打赏
  • 举报
回复
随机选取可以用Random 对象


回传事件中
Random r=new Random();
dropdownlist1.SelectedIndex=r.Next(dropdownlist1.Items.Count+1);
xiaoniao_28 2007-12-17
  • 打赏
  • 举报
回复
楼上的请指教 事情有点急啊.

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧