Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.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 selectedindex不工作_Javascript_Html - Fatal编程技术网

Javascript selectedindex不工作

Javascript selectedindex不工作,javascript,html,Javascript,Html,我有一个代码,当在下拉框中选择“是”时,应该允许我显示div id='yestext'。然而,这是行不通的。我不知道什么不起作用,但有些东西显然不起作用 JS function text() { if (document.getElementById("text").selectedIndex == "0") { document.getElementById("yestext").style.display = "block"; }

我有一个代码,当在下拉框中选择“是”时,应该允许我显示div id='yestext'。然而,这是行不通的。我不知道什么不起作用,但有些东西显然不起作用

JS

    function text() {
        if (document.getElementById("text").selectedIndex == "0") {
          document.getElementById("yestext").style.display = "block";
        } 
        else {
          document.getElementById("yestext").style.display = "none";
        }
    }
HTML

 <select id='text' onchange='text()'>
   <option value="0">Yes</option>
   <option value="1">No</option>
 </select>
 <div style='display:none;' id='yestext'>
   What text would you like displayed?
   <input type='text' class='text' name='type' value size='20'/>
 </div>

对
不
您希望显示什么文本?

下面是包含我的代码的JSFIDLE:

您的代码很好。您将JSFIDLE设置为在
OnLoad
中运行代码,它包装了
text()
函数,因此它没有将其添加到全局命名空间中。我通过将js移动到头部来修复它,现在它可以工作了

当html完成加载时,我还调用了
text()
函数,以考虑浏览器记住最后一个选择

这是更新后的代码。

看起来效果不错。。。最初的一个只是有一个时间问题。你说的“时间”是什么意思?在库下拉列表下面,你可以找到另一个下拉列表,你可以用它为脚本选择一个位置。在您的小提琴中,您选择了“
Onload
”,这不适用于JSFIDLE上的globals。在我的小提琴中,我选择了“
无缠绕头”
”。这里还有一个答案,其中建议您删除
0
周围的引号,因为
selectedIndex
返回一个数字。好的,我知道了,但是如何在原始代码中更改它?如果您希望在加载时显示额外的div,那么您需要首先调用text()函数。您的代码仅在onchange事件上更新