Javascript 根据下拉选择更改DIV的内容

Javascript 根据下拉选择更改DIV的内容,javascript,onchange,innerhtml,Javascript,Onchange,Innerhtml,在网页上,当从下拉列表中进行特定选择时,div的内容必须动态更改。下面是我的代码,我不知道哪里出错了?任何帮助都将不胜感激 <head> <script type="text/javascript"> function fn() { var x = document.getElementsById("select").selectedIndex; var y = document.getElementById("a").innerHTML; if

在网页上,当从下拉列表中进行特定选择时,div的内容必须动态更改。下面是我的代码,我不知道哪里出错了?任何帮助都将不胜感激

<head>
<script type="text/javascript">
function fn()
{
    var x = document.getElementsById("select").selectedIndex;
    var y = document.getElementById("a").innerHTML;

    if (X == "0")
    {
        y = " So.. ur a conman" ;
    }
    else
    {
        y = "oops";
    }
}
window.onload = fn() ;
x.onchange = fn() ;
</script>

<body>
<select name="select" id="select">
<option value="consulting"> Consulting </option>
<option value="industry"> Industry </option>
</select>
<div id="a" style="background-color:blue; width:1200px; height:20px; color:black;">
</div>
</body>
</html>

函数fn()
{
var x=document.getElementsById(“选择”).selectedIndex;
var y=document.getElementById(“a”).innerHTML;
如果(X=“0”)
{
y=“所以……你是个骗子”;
}
其他的
{
y=“oops”;
}
}
window.onload=fn();
x、 onchange=fn();
咨询
工业
  • Javascript区分大小写,因此
    x
    x
    不同。将
    X
    更改为
    X

  • y
    接收内部html的值,而不是对内部html的引用。这意味着您不能通过
    y
    更改innerHTML

  • 当分配给window.onload时,您当前正在分配函数的返回值。您希望分配函数本身,因此它应该是
    window.onload=fn

改进但未测试的代码:

<script type="text/javascript">

var x = document.getElementsById("select");
var y = document.getElementById("a");

function fn()
{

    if (x.selectedIndex == 0)
    {
        y.innerHTML = " So.. ur a conman" ;
    }
    else
    {
        y.innerHTML = "oops";
    }
}

window.onload = fn ;
x.onchange = fn ;

</script>

var x=document.getElementsById(“选择”);
var y=document.getElementById(“a”);
函数fn()
{
如果(x.selectedIndex==0)
{
y、 innerHTML=“所以……你是个骗子”;
}
其他的
{
y、 innerHTML=“oops”;
}
}
window.onload=fn;
x、 onchange=fn;

另外,请注意,您的浏览器具有开发人员工具,这些工具会告诉您一些错误。根据测试使用的浏览器,您可能可以按
F12
打开这些工具。看看控制台,你会看到类似于的消息,
'X'没有定义

正确的命令是getElementById(不是元素,就像在var X中一样,因为id是唯一的)谢谢你的支持。。。DIV在窗口后加载,但在下拉选择更改为行业后,DIV内容不会更改…这是因为
x
仅存在于函数内部。我现在已经更新了代码,以便它也存在于函数之外。确保代码在文档的末尾,否则它将无法找到元素。谢谢你的提示,对于像我这样没有认真对待JS类的新手来说很有用。很有魅力。。通过将变量范围从函数中删除,我将变量范围更改为全局,但完全忘记了在脚本中引用元素之前必须先创建元素