重置所有选择下拉列表

Kei*_*wer 9 javascript jquery

我有一个由onbeforeunload调用的函数.我希望重置所有下拉列表,但我找不到正确的方法将它们重置为0值.

<head>
    <script type="text/javascript">
        function displaymessage() {
            document.getElementsByTagName('select').value = 1;
            //or
            document.getElementsByTagName('select').options.length = 0;
        }
    </script>
</head>

<body>
    <form>
        <input type="button" value="Click me!" onclick="displaymessage()" />
    </form>

    <select name="data[Rate][15][12][num_rooms]" id="r15ro12">
        <option value="0">0</option><option value="1">1 Rooms</option>
        <option value="2">2 Rooms</option><option value="3">3 Rooms</option><option value="4">4 Rooms</option>
        <option value="5">5 Rooms</option><option value="6">6 Rooms</option><option value="7">7 Rooms</option>
        <option value="8">8 Rooms</option><option value="9">9 Rooms</option>
    </select>

    <select name="data[Rate][15][12][num_rooms]" id="r15ro12">
        <option value="0">0</option><option value="1">1 Rooms</option>
        <option value="2">2 Rooms</option><option value="3">3 Rooms</option><option value="4">4 Rooms</option>
        <option value="5">5 Rooms</option><option value="6">6 Rooms</option><option value="7">7 Rooms</option>
        <option value="8">8 Rooms</option><option value="9">9 Rooms</option>
    </select>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

fca*_*ran 26

function displaymessage() {
    $("select").each(function() { this.selectedIndex = 0 });
}
Run Code Online (Sandbox Code Playgroud)

这将选择第一个选项(不一定具有值= 0)


Ste*_*fan 6

这是一种select使用本机JavaScript 选择所有s中的第一个选项的方法;

var elements = document.getElementsByTagName('select');
for (var i = 0; i < elements.length; i++)
{
    elements[i].selectedIndex = 0;
}
Run Code Online (Sandbox Code Playgroud)

...但jQuery非常方便,使大多数事情变得更容易.