gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 02:53:46 24 4
gpt4 key购买 nike

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

代码:

    <!DOCTYPE html>
<html>
<head>
<title>selectbox</title>
<style>

div.event {
padding-left: 40%;
padding-top: 5%;
}

#mySelect{
width: 60px;
height: 50px;
text-align: center;
}
</style>
</head>
<body>
<form name="myForm">
<div class="event">
<select id="mySelect" multiple size="3" onchange="myFunction()">
<option value="name" disabled="disabled">Name</option>
<option value="animals">Animals</option>
<option value="flowers">Flowers</option>
</select>

<select id="mySelect2" multiple size="4">
<option disabled="disabled">Images</option>
</select>
</div>
</form>

<script>

var selectbox2 = document.getElementById('mySelect2');

function myFunction() {
if (document.getElementById('mySelect').value == "Animals"){
selectbox2.append('<option>Tiger</option>');
selectbox2.append('<option>Lion</option>');
selectbox2.append('<option>Bear</option>');
}

else if (document.getElementById('mySelect').value == "Flowers"){
selectbox2.append('<option>Rose</option>');
selectbox2.append('<option>Lotus</option>');
selectbox2.append('<option>Lily</option>');
}
}

</script>

</body>
</html>

最佳答案

您的第一个选择值以小写形式编写,但您的 if 测试正在测试大写字母。

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

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

 var option = document.create("option");
option.value = "something";

最后,不要使用内联 HTML 事件属性(onclickonchange 等)。 <强> There are many reasons why 。相反,您的所有 JavaScript 工作都在 JavaScript 区域中进行,并遵循事件处理的现代标准 ( .addEventListener() )。

<!DOCTYPE html>
<html>
<head>
<title>selectbox</title>
<style>
div.event {
padding-left: 40%;
padding-top: 5%;
}

#mySelect{
width: 60px;
height: 50px;
text-align: center;
}
</style>
</head>
<body>
<form name="myForm">
<div class="event">
<select id="mySelect" multiple size="3">
<option value="name" disabled="disabled">Name</option>
<option value="animals">Animals</option>
<option value="flowers">Flowers</option>
</select>

<select id="mySelect2" multiple size="4">
<option disabled="disabled">Images</option>
</select>
</div>
</form>

<script>

// Get a reference to the first drop down:
var selectbox1 = document.getElementById('mySelect');

// Set up the event handling for the first select:
selectbox1.addEventListener("change", myFunction);

var selectbox2 = document.getElementById('mySelect2');

function myFunction() {
if (document.getElementById('mySelect').value == "animals"){
selectbox2.innerHTML = '<option disabled="disabled">Images</option><option>Tiger</option><option>Lion</option><option>Bear</option>';
}

else if (document.getElementById('mySelect').value == "flowers"){
selectbox2.innerHTML = '<option disabled="disabled">Images</option><option>Rose</option><option>Lotus</option><option>Lily</option>';
}
}

</script>

</body>
</html>

关于javascript - 在第一个选择框中选择选项后更改选择框选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46838549/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com