Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/76.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 IE 9在刷新时不遵循selectedIndex_Javascript_Internet Explorer_Drop Down Menu - Fatal编程技术网

Javascript IE 9在刷新时不遵循selectedIndex

Javascript IE 9在刷新时不遵循selectedIndex,javascript,internet-explorer,drop-down-menu,Javascript,Internet Explorer,Drop Down Menu,在加载页面时,我使用JavaScript将下拉列表的值设置为“Peter” 我注意到在IE9.0.28中,一旦你加载页面,“Peter”被选中。如果将下拉列表设置为“John”并刷新页面,“John”将保持选中状态 事实上,如果您插入一条警报语句,您将在刷新时看到弹出的警报窗口,即在下拉列表中正确选择了“Peter”。但单击“确定”后,“John”再次被选中 升级IE不是一个选项。其他浏览器也可以 下面是要复制的代码: <!DOCTYPE html> <html dir="lt

在加载页面时,我使用JavaScript将下拉列表的值设置为“Peter”

我注意到在IE9.0.28中,一旦你加载页面,“Peter”被选中。如果将下拉列表设置为“John”并刷新页面,“John”将保持选中状态

事实上,如果您插入一条警报语句,您将在刷新时看到弹出的警报窗口,即在下拉列表中正确选择了“Peter”。但单击“确定”后,“John”再次被选中

升级IE不是一个选项。其他浏览器也可以

下面是要复制的代码:

<!DOCTYPE html>
<html dir="ltr" xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head><title>getElementById method (Internet Explorer)</title></head>

<body>
<form>
<input type='hidden' id='theName' value='Peter' />
<select id="employees" size="1">
<option value="">John</option>
<option value="">Peter</option>
</select>
</form>         

<script type="text/javascript">

var theName = document.getElementById('theName').value;
var theDropdown = document.getElementById('employees');

for (var i = 0; i < theDropdown.options.length; i++) {
    if (theDropdown.options[i].innerHTML === theName) {
            theDropdown.selectedIndex = i;
            alert("Hooooold");
            break;
        }
    }

</script>


</body>
</html>

getElementById方法(Internet Explorer)
约翰
彼得
var theName=document.getElementById('theName').value;
var dradropdown=document.getElementById('employees');
对于(变量i=0;i

有没有办法只用代码来解决这个问题?

在onLoad事件中添加脚本逻辑

<!DOCTYPE html>
<html dir="ltr" xmlns="http://www.w3.org/1999/xhtml" lang="en">

<head>
    <title>getElementById method (Internet Explorer)</title>
</head>

<body>
    <form>
        <input type='hidden' id='theName' value='Peter' />
        <select id="employees" size="1">
            <option value="">John</option>
            <option value="">Peter</option>
        </select>
    </form>

    <script type="text/javascript">
        window.onload = function() {
            var theName = document.getElementById('theName').value;
            var theDropdown = document.getElementById('employees');
            for (var i = 0; i < theDropdown.options.length; i++) {
                if (theDropdown.options[i].innerHTML === theName) {
                    theDropdown.selectedIndex = i;
                    alert("Hooooold");
                    break;
                }
            }
        };
    </script>


</body>

</html>

getElementById方法(Internet Explorer)
约翰
彼得
window.onload=函数(){
var theName=document.getElementById('theName').value;
var dradropdown=document.getElementById('employees');
对于(变量i=0;i

此操作有效:)

只有java脚本不会导致此问题。您使用的是哪种框架?不确定您对框架的含义。我可以用IE 9复制这个。我在一个管理个人电脑的公司环境中。所以可能是管理员做了什么?谢谢。知道为什么它不能按我的方式工作吗?刷新不会重新执行脚本。在你的例子中,为了保持“peter”在下拉列表中,你必须强制它在刷新时重新执行脚本。刷新不会在IE 9中重新执行脚本吗?因为它是用铬做的。