我是 HTML 新手。我正在尝试从第一个选择标签中检索一个值,如果该值符合预期,第二个选择标签将出现在第一个选择标签下方。这是我一直在尝试的:
<ul id="MAIN">
<li><span>1st Select Tag :</span>
<select onchange="createNewSelectTag()" id="SelectTag1">
<option>no</option>
<option>yes</option>
<option>maybe</option>
</select>
</li>
<script language="javascript" type="text/javascript">
function createNewSelectTag()
{
/*check if 2nd select tag is already exist. if it is, cannot make another 2nd select tag*/
if (document.getElementById('createdSelectTag'))
{
if (document.getElementById('SelectTag1').selectedIndex == 0)
{
var element = document.getElementById('createdSelectTag');
element.parentNode.removeChild(element);
}
}
else
{
if (document.getElementById('SelectTag1').selectedIndex > 0)
{
var newSelectTag = '<li id="createdSelectTag"><span>2nd Select Tag :</span>' +
'<select id="SelectTag2">' +
'<option value="a">A</option>' +
'<option value="b">B</option>' +
'<option value="c">C</option>' +
'</select>' +
'</li>';
document.getElementById('MAIN').innerHTML += newSelectTag;
}
}
}
</script>
</ul>
现在,单击第一个选择标签中的“否”将删除第二个选择标签,单击其他选项将创建第二个选择标签,正如我所预期的那样。
但是,第一次更改第一个选择标签并不会立即更改第一个选择标签的值,即使下面已经生成了第二个选择标签。例如,第一次加载页面时,第一个选择标签的值默认为“no”。如果我将其更改为“是”或“可能”,则会创建第二个选择标签,但第一个选择标签的值仍然是“否”。我需要加倍更改它以更改第一个选择标签的值。我做错了什么?