您好我正在尝试使用下面的代码。我喜欢代码,但我希望默认为DIV Area 1.我在下拉菜单中显示了DIV Area 1的HTML代码,但我希望Javascript默认显示DIV AREA 1。代码是什么?
<script type="text/javascript">
$(document).ready(function(){
$('.box').hide();
$('#dropdown').change(function() {
$('.box').hide();
$('#div' + $('#dropdown').val()).show();
});
});
</script>
<form>
<select id="dropdown" name="dropdown">
<option value="0">Choose</option>
<option value="area1" selected="selected">DIV Area 1</option>
<option value="area2">DIV Area 2</option>
<option value="area3">DIV Area 3</option>
</select>
</form>
<div id="divarea1" class="box">DIV Area 1</div>
<div id="divarea2" class="box">DIV Area 2</div>
<div id="divarea3" class="box">DIV Area 3</div>
答案 0 :(得分:5)
$('.box').hide().first().show();
或者:
$('.box').hide().filter("#divarea1").show();
将以上其中一项放入DOM就绪事件中:
$(function(){ /*...*/ });
或者
$(document).ready(function(){ /* ... */ });
完整代码:(它应该回答您关于如何显示所选div的下一个问题...)
$(document).ready(function() {
$('.box').hide().filter("#divarea1").show();
$('#dropdown').change(function() {
var selectedId= $(this).find(':selected').text().replace(/\s/g, "").toLowerCase();
console.log(selectedId);
$('.box').hide().filter('#' + selectedId).show();
});
});
答案 1 :(得分:1)
可以做到这一点......
$('.box').hide().filter(':first').show();
答案 2 :(得分:0)
一个简单问题的许多复杂答案:
$('.box:gt(0)').hide();
我会这样编码:
$(document).ready(function(){
$('.box:gt(0)').hide();
$('#dropdown').change(function() {
$('.box:visible').hide();
if ($(this).prop('selectedIndex')>0)
$('.box').eq($(this).prop('selectedIndex')-1).show();
});
});
http://jsfiddle.net/lucuma/xNZWY/
如果您从下拉列表中删除第一个选项(因为您需要预先选择?),因为我们可以删除if
$(document).ready(function(){
$('.box:gt(0)').hide();
$('#dropdown').change(function() {
$('.box:visible').hide();
$('.box').eq($(this).prop('selectedIndex')-1).show();
});
});