我有一个被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>
答案 0 :(得分:24)
function displaymessage() {
$("select").each(function() { this.selectedIndex = 0 });
}
这将选择第一个选项(不一定具有值= 0)
答案 1 :(得分:6)
这是一种使用本机JavaScript选择所有select
中的第一个选项的方法;
var elements = document.getElementsByTagName('select');
for (var i = 0; i < elements.length; i++)
{
elements[i].selectedIndex = 0;
}
...但jQuery非常方便,让大多数事情变得更容易。
答案 2 :(得分:3)
如下:
$(window).unload(function () {
$("select").val("0");
});
答案 3 :(得分:2)
使用原始javascript代码,我们可以执行以下操作,
elements = document.getElementsByTagName("select")
for(i=0; i < elements.length ; i++){
elements[i].selectedIndex= 0;
}
答案 4 :(得分:1)
试试这个:
function displaymessage() {
$("select").val("0");
}
答案 5 :(得分:1)
首先,您不应对不同的标记使用相同的名称/ ID。它应该是每个标签的唯一。
在标签中调用函数,如
然后改变你的乐趣就像 function displaymessage(){ var x = document.getElementsByTagName('select'); for(var i = 0; i&lt; 2; i ++) { document.getElementById(x [i] .id).options [0] .selected =“0”; } }
答案 6 :(得分:1)
答案 7 :(得分:0)
试试这个:
$( 'select' ).each( function () {
if ( $( this ).children().length > 0 ) {
$( $( this ).children()[0] ).attr( 'selected', 'selected' );
}
} );
答案 8 :(得分:0)
$('#dropDownListID')。val(“”);
或
$('#dropDownListID')。val(“ 0”);