根据 selected select 字段选项调用自定义函数
Call a custom function based on selected select field option
下面这段代码有问题。
我想在 2 个选项中进行选择。当我选择 "1"
时,就会调用 F1()
。 When choose "2"
, then F2()
is called.
不幸的是我的代码有问题。
function abc(element){
var value1 = element.options[element.selectedIndex].value;
switch(value1){
case 1:
F1();
break;
case 2:
F2();
break;
}
}
<select id = "nextGeneration" onchange="abc(this)" >
<option value="1">1</option>
<option value="2">2</option>
</select>
您的代码无法正常工作,因为 element.options[element.selectedIndex].value
returns 字符串值并且您正在将它们与整数进行比较。在下面的代码中,选择 2 有效,因为它有 "2" 的大小写,但选择 1 无效
function F1(){
console.log(1);
}
function F2(){
console.log(2);
}
function abc(element){
var value1 = element.options[element.selectedIndex].value;
switch(value1){
case 1:
F1();
break;
case "2":
F2();
break;
}
}
<select id = "nextGeneration" onchange="abc(this)" >
<option value="1">1</option>
<option value="2">2</option>
</select>
<select id="nextGeneration" onchange="abc(this)">
<option value="1">1</option>
<option value="2">2</option>
</select>
<script>
function F2() {
console.log("change 2");
}
function F1() {
console.log("change 1");
}
function abc(element) {
var value1 = element.options[element.selectedIndex].value;
console.log(value1);
switch (value1) {
case "1":
F1();
break;
case "2":
F2();
break;
}
}
</script>
您需要将案例用引号引起来,例如:案例“2”。
下面这段代码有问题。
我想在 2 个选项中进行选择。当我选择 "1"
时,就会调用 F1()
。 When choose "2"
, then F2()
is called.
不幸的是我的代码有问题。
function abc(element){
var value1 = element.options[element.selectedIndex].value;
switch(value1){
case 1:
F1();
break;
case 2:
F2();
break;
}
}
<select id = "nextGeneration" onchange="abc(this)" >
<option value="1">1</option>
<option value="2">2</option>
</select>
您的代码无法正常工作,因为 element.options[element.selectedIndex].value
returns 字符串值并且您正在将它们与整数进行比较。在下面的代码中,选择 2 有效,因为它有 "2" 的大小写,但选择 1 无效
function F1(){
console.log(1);
}
function F2(){
console.log(2);
}
function abc(element){
var value1 = element.options[element.selectedIndex].value;
switch(value1){
case 1:
F1();
break;
case "2":
F2();
break;
}
}
<select id = "nextGeneration" onchange="abc(this)" >
<option value="1">1</option>
<option value="2">2</option>
</select>
<select id="nextGeneration" onchange="abc(this)">
<option value="1">1</option>
<option value="2">2</option>
</select>
<script>
function F2() {
console.log("change 2");
}
function F1() {
console.log("change 1");
}
function abc(element) {
var value1 = element.options[element.selectedIndex].value;
console.log(value1);
switch (value1) {
case "1":
F1();
break;
case "2":
F2();
break;
}
}
</script>
您需要将案例用引号引起来,例如:案例“2”。