如何重置div中的所有选择框单击按钮?

时间:2012-10-19 11:01:20

标签: javascript input

以我的形式

<div class="container">
    <select name="sel1">
        <option value="0">0</option>
        <option value="1">1</option>
        <option value="2">2</option>
    </select>
    <select name="sel2">
        <option value="0">Zero</option>
        <option value="1">One</option>
        <option value="2">Two</option>
    </select>
</div>
<input type="button" onclick="resetAll()" value="Reset"/>

我需要将 sel1,sel2 重置为默认值。即 selectedIndex = 0;

function resetAll()
{
     //what should i write here to do this
}    

我有20多个选择框。有什么帮助吗?

4 个答案:

答案 0 :(得分:0)

试试这个,这适用于任意数量的drop downs

function resetAll()
{
    var selects = document.getElementsByTagName('select');
    var len = selects.length;
    for(var i=0; i<len; i++){
        selects[i].selectedIndex=0;
    }
}

演示:http://jsfiddle.net/LAaRv/1/

<强>更新

如果你只想重置“sel1”和“sel2”,那就试试吧,

function resetAll()
{
    var selects = document.getElementsByTagName('select');
    var len = selects.length;
    for(var i=0; i<len; i++){
        if(selects[i].name == "sel1" || selects[i].name == "sel2"){
           selects[i].selectedIndex=0;
        }
    }
} ​

答案 1 :(得分:0)

只需在容器项中添加一个id,即可轻松引用它。这样您只需重置驻留在其中的选择框,而不是您在页面上可能拥有的任何其他选项框:

function resetAll() {
    var container = document.getElementById('container');
    var children = container.getElementsByTagName('select');
    for (var i = 0; i < children.length; i++) {
        children[i].selectedIndex = 0;
    }
}

答案 2 :(得分:0)

简单地不使用任何for循环 -

第一个指数 -

 $("select").each(function() { this.selectedIndex = 0 });

空选 -

 $("select").each(function() { this.selectedIndex = -1 });

PLUNKER EXAMPLE

答案 3 :(得分:-1)

试试这个

var secondCombo = document.getElementsByName("sel1")[0];
secondCombo.value = 0;