English 中文(简体)
缩略语
原标题:IE 6 Javascript replacing select dropdown issue
  • 时间:2009-08-26 22:06:10
  •  标签:

我有以下的代码——当用户只用装满的缺省办法点击下降时,它就被用上下了。 该守则是:

function populateDropDown(id, code) {
    var currentSelect = document.getElementById(id);
    <%--Don t enable the dropdown if it has more than one entry already - assume this to be populated.--%>
    if(currentSelect.length == 1) {
            currentSelect.remove(0);
            var selectedIndex = 0;
            for(var index = 0; index < codes.length; index++) {
                    var newOption = document.createElement( option );
                    newOption.value = codes[index];
                    newOption.text = values[index];
                    try {
                            currentSelect.add(newOption, null); // standards compliant
                    }
                    catch(ex)
                    {
                            currentSelect.add(newOption); // IE only
                    }
                    if(codes[index] == code) {
                            selectedIndex = index;
                    }
            }
            currentSelect.selectedIndex = selectedIndex;
    }
}

该守则在操作9.x, IE 7-,但IE 6(由于我喜欢歌舞厅,在操作中的测试)中有效,但实际上只必须在IE 7和6中工作。

在6号国际电子计算法中,该编码确实显示下降幅度,但该编码将选定的数值确定为下级清单中的第一个数值,而不是选定的数值。 选定的数值被定为上述其他两个浏览器的适当价值。

I m no Javascript guru by any means - so if someone knows why IE 6 is doing this and how to get around it, that d be appreciated. Also note that the comment there is a JSP comment - it is stripped out before this Javascript is sent to the browser (it s not an invalid comment).

最佳回答

我先谈这个问题。 如果你试图在重点重新提交文件之前,在选定要素(选择)中积极创造的儿童要素, 指数将失败,并将拖欠第一个项目。

当我能够发现第1条时,我会回头。 Stay!

<><>UPDATE:

创立!

不要在<条码>上设置<条码>中选取的Index;校对;要素,找到<条码>和>;option>要素,你希望,并确定其特定特性:

var currentSelect = document.getElementById(id);
if(currentSelect.length == 1) {
        currentSelect.remove(0);
        var selectedIndex = 0;
        for(var index = 0; index < codes.length; index++) {
                var newOption = document.createElement( option );
                newOption.value = codes[index];
                newOption.text = values[index];
                try {
                        currentSelect.add(newOption, null); // standards compliant
                }
                catch(ex)
                {
                        currentSelect.add(newOption); // IE only
                }
                if(codes[index] == code) {
                        selectedIndex = index;
                }
        }
        // currentSelect.selectedIndex = selectedIndex;
        // Try this:
        currentSelect.options[selectedIndex].setAttribute( selected , true);
}
问题回答

辛勤的评论帮助我说了,但他的法典没有产生我希望根据《公约》第6条取得的结果。 然而,他指出,重点可能是问题。 下面的幻灯片使得它根据国际电算法6进行适当选择——它确实看得令人望而却步,因为它装载了下降,然后选择了下降,但功能是我所希望的,其速度比静的超负荷快。

currentSelect.focus();
currentSelect.selectedIndex = selectedIndex;

把重点放在投入上,然后确定选定的指数,在IE 6中发挥作用,尽管下降实际上迅速跳跃到第一批投入中,然后又 jump回。 但是,只要它发挥作用,它就能够做到......





相关问题
热门标签