javascript IE问题。不在IE中工作

时间:2013-06-13 20:31:57

标签: javascript jquery html css

我有分支下拉效果(不确定名称)。我在javascript和jquery中不是很好但是我可以修改一点。并且凭借这些知识我做了这个效果。

您可以看到现场演示:http://saifraihan.webege.com/Branching%20New/branching.html

这是我的:

HTML

<form id="survey" action="#" method="post">
    <div id="section">
            <label for="Select">Select a step</label>
            <select id="select" onchange="selection(this);">
                    <option value="none">
                            Input1
                    </option>
                    <option value="radio">
                            Radio1
                    </option>
            </select>
    </div>
    <div id="section2" style="display:none;">
            <input name="" type="text">
    </div>
    <div id="section5" style="display:none;">
            <p>
                    Radio Step 1<br/>
                    <label>
                            <input type="radio" name="RadioGroup2" value="radio" id="RadioGroup2_0">
                            Radio</label>
                    <br>
                    <label>
                            <input type="radio" name="RadioGroup2" value="radio" id="RadioGroup2_1">
                            Radio</label>
                    <br>
            </p>
    </div>
</form>

JS:

var sections ={
'none': 'section2',
'radio': 'section5'



};

var selection = function(select) {

 for(i in sections)
    document.getElementById(sections[i]).style.display = "none";    
    document.getElementById(sections[select.value]).style.display = "block";

}

此示例在FF,Chrome和Opera中运行良好。但问题是,它不适用于任何版本的IE。我不知道为什么。因为我在javascripts中很弱,所以我不知道为什么这不是在IE中运行。可以有任何解决方案吗?如果IT能够很好。

先谢谢。

1 个答案:

答案 0 :(得分:1)

将您的活动绑定在这样:

document.getElementById('select').addEventListener('change', function() { selection(this) });

这似乎在IE(10)中解决了我的问题。如果您需要支持8或之前:在这些版本的IE中使用attchEvent附加事件。所以你也需要编写那个逻辑(或者你可以使用jQuery或其他一些库为你处理crossbrowser的东西)。

小提琴:http://jsfiddle.net/jnuFq/2/