Javascript 从选择中启用或禁用选项
我试图根据他们是否选择了另一个选项来选择一个选项,或者是可选的,或者是不可选的。例如,如果有选项1-6,但他们没有在第一个选择框中选择选项1,那么在同一个选择框和表单中的任何其他框中,则无法选择选项6 我环顾四周,但一切都是关于点击一个按钮来实现这一点 这是我的代码(我也尝试过onclick)Javascript 从选择中启用或禁用选项,javascript,html-select,Javascript,Html Select,我试图根据他们是否选择了另一个选项来选择一个选项,或者是可选的,或者是不可选的。例如,如果有选项1-6,但他们没有在第一个选择框中选择选项1,那么在同一个选择框和表单中的任何其他框中,则无法选择选项6 我环顾四周,但一切都是关于点击一个按钮来实现这一点 这是我的代码(我也尝试过onclick) 函数makeDisable(){ var x=document.getElementById(“mySelect2”); x、 禁用=真 } 函数makeEnable(){ var x=document
函数makeDisable(){
var x=document.getElementById(“mySelect2”);
x、 禁用=真
}
函数makeEnable(){
var x=document.getElementById(“mySelect2”);
x、 禁用=错误
}
苹果
香蕉
橙色
选项元素没有“onchange”事件,但选择元素有
我已经在下面快速编写了一段代码片段。您可以添加更多选择项。当您在其中一个select元素中选择一个选项时,您不应该在其他select元素的同一索引中选择选项
<script type="text/javascript">
function toggleDisability(selectElement){
//Getting all select elements
var arraySelects = document.getElementsByClassName('mySelect');
//Getting selected index
var selectedOption = selectElement.selectedIndex;
//Disabling options at same index in other select elements
for(var i=0; i<arraySelects.length; i++) {
if(arraySelects[i] == selectElement)
continue; //Passing the selected Select Element
arraySelects[i].options[selectedOption].disabled = true;
}
}
</script>
<form>
<select onchange="toggleDisability(this);" class="mySelect" id="mySelect1">
<option>Apple</option>
<option>Banana</option>
<option>Orange</option>
</select>
<select onchange="toggleDisability(this);" class="mySelect" id="mySelect2">
<option>Hamburger</option>
<option>Pizza</option>
<option>Cola</option>
</select>
</form>
功能切换禁用(selectElement){
//获取所有选定元素
var arraySelects=document.getElementsByClassName('mySelect');
//获取选定索引
var selectedOption=selectElement.selectedIndex;
//禁用其他select元素中相同索引处的选项
对于(var i=0;i
功能切换禁用(selectElement){
//获取所有选定元素
var arraySelects=document.getElementsByClassName('mySelect');
//获取选定索引
var selectedOption=selectElement.selectedIndex;
//禁用其他select元素中相同索引处的选项
对于(var i=0;iI)来说,我一直在避免做类似的事情,哈哈。但谢谢你们,我想这就是当时的方式!添加一些解释,说明这个答案如何帮助解决当前问题
<script type="text/javascript">
function toggleDisability(selectElement){
//Getting all select elements
var arraySelects = document.getElementsByClassName('mySelect');
//Getting selected index
var selectedOption = selectElement.selectedIndex;
//Disabling options at same index in other select elements
for(var i=0; i<arraySelects.length; i++) {
if(arraySelects[i] == selectElement)
continue; //Passing the selected Select Element
arraySelects[i].options[selectedOption].disabled = true;
}
}
</script>
<form>
<select onchange="toggleDisability(this);" class="mySelect" id="mySelect1">
<option>Apple</option>
<option>Banana</option>
<option>Orange</option>
</select>
<select onchange="toggleDisability(this);" class="mySelect" id="mySelect2">
<option>Hamburger</option>
<option>Pizza</option>
<option>Cola</option>
</select>
</form>