Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/90.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在第一个选择框中选择选项后更改选择框选项_Javascript_Html - Fatal编程技术网

Javascript 在第一个选择框中选择选项后更改选择框选项

Javascript 在第一个选择框中选择选项后更改选择框选项,javascript,html,Javascript,Html,在我的javascript程序中,我创建了两个选择框,当选择框中的第一个选项被选中时,我想在图像选择框中显示一个由3个图像名称组成的选择。当选择第二个选项时,我想在“图像”框中显示相应3个图像名称的选择。为此,我做了下面的编码。但它不起作用。有人能帮我解决吗 代码: 选择框 分区活动{ 左:40%; 垫面:5%; } #我的选择{ 宽度:60px; 高度:50px; 文本对齐:居中; } 名称 动物 花 图像 var selectbox2=document.getElementById('m

在我的javascript程序中,我创建了两个选择框,当选择框中的第一个选项被选中时,我想在图像选择框中显示一个由3个图像名称组成的选择。当选择第二个选项时,我想在“图像”框中显示相应3个图像名称的选择。为此,我做了下面的编码。但它不起作用。有人能帮我解决吗

代码:


选择框
分区活动{
左:40%;
垫面:5%;
}
#我的选择{
宽度:60px;
高度:50px;
文本对齐:居中;
}
名称
动物
花
图像
var selectbox2=document.getElementById('mySelect2');
函数myFunction(){
if(document.getElementById('mySelect')。value==“动物”){
选择box2.append('Tiger');
选择box2.append('Lion');
选择框2。追加('Bear');
} 
else if(document.getElementById('mySelect')。value==“Flowers”){
选择框2。追加('Rose');
选择box2.append('Lotus');
选择框2。追加('Lily');
}
}

您的第一个选择值是用小写字母写的,但是您的
if
测试是测试大写字母

其次,
append()
方法不是标准方法,您应该使用
.appendChild()
。但是,无论使用哪种方法,都不能附加字符串。对于字符串,必须设置属性

如果要使用
.append()
.appendChild()
,则需要附加一个“DOM节点”,可以这样创建:

 var option = document.create("option");
 option.value = "something";
最后,不要使用内联HTML事件属性(
onclick
onchange
,等等)。而是在JavaScript区域中执行所有JavaScript工作,并遵循现代事件处理标准(


选择框
分区活动{
左:40%;
垫面:5%;
}
#我的选择{
宽度:60px;
高度:50px;
文本对齐:居中;
}
名称
动物
花
图像
//获取对第一个下拉列表的引用:
var selectbox1=document.getElementById('mySelect');
//为第一个选择设置事件处理:
选择Box1.addEventListener(“更改”,myFunction);
var selectbox2=document.getElementById('mySelect2');
函数myFunction(){
if(document.getElementById('mySelect')。value==“动物”){
选择box2.innerHTML='imagestigerionbear';
} 
else if(document.getElementById('mySelect')。value==“flowers”){
选择box2.innerHTML='ImagesRoseLotusLily';
}
}

您的第一个选择值是用小写字母写的,但是您的
if
测试是测试大写字母

其次,
append()
方法不是标准方法,您应该使用
.appendChild()
。但是,无论使用哪种方法,都不能附加字符串。对于字符串,必须设置属性

如果要使用
.append()
.appendChild()
,则需要附加一个“DOM节点”,可以这样创建:

 var option = document.create("option");
 option.value = "something";
最后,不要使用内联HTML事件属性(
onclick
onchange
,等等)。而是在JavaScript区域中执行所有JavaScript工作,并遵循现代事件处理标准(


选择框
分区活动{
左:40%;
垫面:5%;
}
#我的选择{
宽度:60px;
高度:50px;
文本对齐:居中;
}
名称
动物
花
图像
//获取对第一个下拉列表的引用:
var selectbox1=document.getElementById('mySelect');
//为第一个选择设置事件处理:
选择Box1.addEventListener(“更改”,myFunction);
var selectbox2=document.getElementById('mySelect2');
函数myFunction(){
if(document.getElementById('mySelect')。value==“动物”){
选择box2.innerHTML='imagestigerionbear';
} 
else if(document.getElementById('mySelect')。value==“flowers”){
选择box2.innerHTML='ImagesRoseLotusLily';
}
}

这可能会对您有所帮助。我刚刚添加了一些简单的功能


选择框
分区活动{
左:40%;
垫面:5%;
}
#我的选择{
宽度:60px;
高度:50px;
文本对齐:居中;
}
名称
动物
花
图像
var selectbox2=document.getElementById('mySelect2');
函数myFunction(){
if(document.getElementById('mySelect')。value==“动物”){
选择box2.options.length=1;
让tiger=document.createElement('option');
tiger.text='tiger';
选择框2。添加(老虎);
让lion=document.createElement('option');
lion.text='lion';
选择框2。添加(狮子);
let bear=document.createElement('option');
bear.text='bear';
选择框2。添加(熊);
}else if(document.getElementById('mySelect')。value==“flowers”){
选择box2.options.length=1;
让rose=document.createElement('option');
rose.text='rose';
选择框2。添加(玫瑰色);
让lotas=document.createElement('option');
lotas.text='lotas';