我需要删除在上一个dropdwon中选择的下拉列表中的所选选项。 例如,第一个,第二个和第三个下拉列表包含A,B,C,D。一旦我在dropdown1中选择了A,它就不会出现在下拉列表2和3中。同样的事情将发生在下拉列表2和3中。
但是在我的代码中,事情实际上是这样的:
我在PHP中通过循环填充了几个下拉列表。
for($y=1; $y<=5; $y++){
echo "<select id='seatplan$x' name='selectSeatplan[]' onChange='callSave($x,$sid)'>";
echo "<select name='selectSeatplan[]'>";
echo "<option value=''> ------------ </option>";
seatplanDdNames($sid);
echo "</select>";
} //END FOR Y<-5
请注意 * seatplanDdNames($ sid) - 是一个从数据库生成名称的函数,以下是我如何回应它的选项:
function seatplanDdNames($sid) {
echo "<option value='$studentno' onClick='callSave($x,$sid)'>$name</option>";
}
然后javascript函数callSave:
function callSave(x,sid){
var name = 'seatplan' + x;
name = name.toString();
var selectBox = document.getElementById(name);
var strUser = selectBox.options[selectBox.selectedIndex].value;
var js = document.createElement('script');
js.setAttribute('language', 'javascript');
js.setAttribute('type', 'text/javascript');
js.setAttribute('src', 'seatplan-getvalues.php?uid='+strUser+'&sid='+sid+'&rtype=CLS&seatno='+x);
document.body.appendChild(js);
return false;
}
有任何帮助吗?谢谢!
答案 0 :(得分:0)
Here是纯HTML / JS示例。基本上在页面加载时,每个select都有相同的选项。当您选择某些内容时,在其他选择中此选项会隐藏。
答案 1 :(得分:0)
Lolo的代码非常正常,但我需要更改style.dispaly = 'none'
中的o.disabled = true
以避免OSX和iOS中的Chrome / Safari出现问题(元素未隐藏)
if (p == undefined || p == s) {
o.disabled = false;
}
// option otherwise
else {
o.disabled = true;
}
行为不同但结果相同。