如果在表单中选择了一个选项,如何禁用多个选项
how to disable multiple options if one option is selected in the forms
您好,如果您只选择一个选项,有什么方法可以禁用 select 表单中的多个选项?
例如:
第一个Select表格
<select name="secondchoice" id="second">
<option value="None">None</option>
<option value="Content Dev">Content Dev</option>
<option value="Web">Web</option>
<option value="Science">Science</option>
<option value="Managing">Managing</option>
</select>
第二种Select形式
<select name="day2" id="exam2">
<option value="None">None</option>
<option value="Monday">Monday</option>
<option value="Tuesday">Tuesday</option>
<option value="Wednesday">Wednesday</option>
<option value="Thursday">Thursday</option>
</select>
如果我 select 在第一种形式中使用“None”,那么第二种形式必须禁用选项“周一至周四”,唯一可用的选项也必须是“None”以第二种形式。谢谢!
您可以 disabled
select 元素本身及其每个选项。您可以找到 2 种方法来实现下面的每一种方法。
您可以使用 javascript 做到这一点,方法是在第一个 select 元素更改时隐藏第二个元素中的选项,方法是检查其值并相应地隐藏元素,如下所示:
// Select Elements
const first = document.getElementById('first')
const second = document.getElementById('second')
// Option Elements
const one = document.getElementById('one')
const two = document.getElementById('two')
// Runs whenever first select has changed
first.onchange = () => {
// Checks First Selects Value
if (first.value === '1') {
// If '1' then hide TWO and show ONE
second.value = 'ONE'
one.hidden = false
two.hidden = true
} else if (first.value === '2') {
// Else, if '2' then hide ONE and show TWO
second.value = 'TWO'
one.hidden = true
two.hidden = false
}
}
<select id='first'>
<option>1</option>
<option>2</option>
</select>
<select id='second'>
<option id='one'>ONE</option>
<option id='two'>TWO</option>
</select>
这是一个非常基本的示例,可以进行大量改进。
你可以像下面那样做,所以当你选择 none 时,其他选项将被禁用,而不是 none 它会再次启用
function disabledEnabled(event) {
var optiosLists = document.getElementById("exam2").options;
for (let i = 0; i < optiosLists.length; i++) {
if(event.target.value === "None"){
optiosLists[i].disabled = true;
optiosLists[0].disabled = false;
} else {
optiosLists[i].disabled = false;
}
}
}
您好,如果您只选择一个选项,有什么方法可以禁用 select 表单中的多个选项?
例如:
第一个Select表格
<select name="secondchoice" id="second">
<option value="None">None</option>
<option value="Content Dev">Content Dev</option>
<option value="Web">Web</option>
<option value="Science">Science</option>
<option value="Managing">Managing</option>
</select>
第二种Select形式
<select name="day2" id="exam2">
<option value="None">None</option>
<option value="Monday">Monday</option>
<option value="Tuesday">Tuesday</option>
<option value="Wednesday">Wednesday</option>
<option value="Thursday">Thursday</option>
</select>
如果我 select 在第一种形式中使用“None”,那么第二种形式必须禁用选项“周一至周四”,唯一可用的选项也必须是“None”以第二种形式。谢谢!
您可以 disabled
select 元素本身及其每个选项。您可以找到 2 种方法来实现下面的每一种方法。
您可以使用 javascript 做到这一点,方法是在第一个 select 元素更改时隐藏第二个元素中的选项,方法是检查其值并相应地隐藏元素,如下所示:
// Select Elements
const first = document.getElementById('first')
const second = document.getElementById('second')
// Option Elements
const one = document.getElementById('one')
const two = document.getElementById('two')
// Runs whenever first select has changed
first.onchange = () => {
// Checks First Selects Value
if (first.value === '1') {
// If '1' then hide TWO and show ONE
second.value = 'ONE'
one.hidden = false
two.hidden = true
} else if (first.value === '2') {
// Else, if '2' then hide ONE and show TWO
second.value = 'TWO'
one.hidden = true
two.hidden = false
}
}
<select id='first'>
<option>1</option>
<option>2</option>
</select>
<select id='second'>
<option id='one'>ONE</option>
<option id='two'>TWO</option>
</select>
这是一个非常基本的示例,可以进行大量改进。
你可以像下面那样做,所以当你选择 none 时,其他选项将被禁用,而不是 none 它会再次启用
function disabledEnabled(event) {
var optiosLists = document.getElementById("exam2").options;
for (let i = 0; i < optiosLists.length; i++) {
if(event.target.value === "None"){
optiosLists[i].disabled = true;
optiosLists[0].disabled = false;
} else {
optiosLists[i].disabled = false;
}
}
}