<select name="SubjectID1" size="1" onChange="checkSubjectSelect(this.options[this.options.selectedIndex].text,1,this.options.selectedIndex)">
<option value="0">请选择科目</option>
<option value="1">语文</option>
<option value="2">数学</option>
<option value="1">英语</option>
<option value="1">政治</option>
</select>
为保证此列表选不与已选课程重复,做一函数防止其选择重复
//防止科目重复的函数 (科目号,第i个菜单项)
<script language="javascript">
<!--
//在此假设上一个选语文
var strFirstSubject = "语文";
var lastSelectSubject = null;
function checkSubjectSelect(v,ElemIndex,intIndex)
{ if (v==strFirstSubject) //有重复科目
{ //已经选择过
alert("选择了重复的科目\n请重新选择!");
if(lastSelectSubject == null)
{
alert("SubjectID1.options.selectedIndex=0");
eval("SubjectID1.options.selectedIndex=0"); //把选项重置,原来是哪项就置回哪项
}
else
{
alert("SubjectID1.options["+lastSelectSubject+"].selected=true")
eval("SubjectID1.options["+lastSelectSubject+"].selected=true");
}
}
else
{
lastSelectSubject = intIndex;
} //把该科目号存入相应位置
// SubjectArray[ElemIndex]=v;
}
//-->
</script>
<option value="0">请选择科目</option>
<option value="1">语文</option>
<option value="2">数学</option>
<option value="1">英语</option>
<option value="1">政治</option>
</select>
为保证此列表选不与已选课程重复,做一函数防止其选择重复
//防止科目重复的函数 (科目号,第i个菜单项)
<script language="javascript">
<!--
//在此假设上一个选语文
var strFirstSubject = "语文";
var lastSelectSubject = null;
function checkSubjectSelect(v,ElemIndex,intIndex)
{ if (v==strFirstSubject) //有重复科目
{ //已经选择过
alert("选择了重复的科目\n请重新选择!");
if(lastSelectSubject == null)
{
alert("SubjectID1.options.selectedIndex=0");
eval("SubjectID1.options.selectedIndex=0"); //把选项重置,原来是哪项就置回哪项
}
else
{
alert("SubjectID1.options["+lastSelectSubject+"].selected=true")
eval("SubjectID1.options["+lastSelectSubject+"].selected=true");
}
}
else
{
lastSelectSubject = intIndex;
} //把该科目号存入相应位置
// SubjectArray[ElemIndex]=v;
}
//-->
</script>
解决方案 »
- extjs代码执行不完全
- IE和Firefox中回车响应
- 给个自定义的下拉列表框代码吧--------------------------------?
- 一段很短的代码了?
- ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●怎样证明这两个this是一样的?????????????
- 浏览本站帖子的问题:怎么都只能看到 最新:500篇 ?
- style.margin left
- javascript 的一段代码请高手指点一下,他的具体含义和语法规则是什么?
- 参数
- 各位所说的缓存是怎么一回事儿,请介绍细一点儿!!!
- 弹出窗口问题
- 怎么用 javascript改变一个text的 背景颜色
由原来的存放课程号改为存放课程在下拉列表中的索引号.
例如 课程号 课程名 在列表中的索引号
1 语文 1
2 数学 2
4 英语 3
6 政治 4
假如已选语文,政治则数组中存放(1,2,0,0),而不是原来的(1,6,0,0)
这样,如果回头修改已选的“语文”为“政治”,提示“有重复”后,用数组存放的索引号,仍可把下拉列表项置回到“语文”if (isSameSubject==true) //有重复科目
{ //已经选择过
alert("选择了重复的科目\n请重新选择!");
eval("f.SubjectID"+ElemIndex+".options.selectedIndex=SubjectArray[ElemIndex]"); //把选项重置,原来是哪项就置回哪项
}
else //把该列表的下拉序号存入相应位置
//SubjectArray[ElemIndex]=v;
eval("SubjectArray[ElemIndex]=f.SubjectID"+ElemIndex+".options.selectedIndex");