2012-12-19 31 views
2

下面是一些在普通页面上工作但不能在引导模式下工作的代码,为什么这可能不起作用?jQuery在Twitter中显示/隐藏引导模式

<script type="text/javascript"> 
$(document).ready(function(){ 
$('.box').hide(); 
    $('#dropdown').change(function() { 
    $('.box').hide(); 
    $('#div' + $(this).val()).show(); 
}); 
}); 
</script> 
<form> 
<select id="dropdown" name="dropdown"> 
    <option value="0">Choose</option> 
    <option value="area1">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> 

回答

2

因为在加载父页面时$(document).ready()已经被触发。您应该听取引导模态的shown事件。我假设你是AJAX模式内容?

+0

很酷。听取所示事件的正确方法是什么?现在内容通过django模板进入。 –

+1

使用jQuery'.on'将侦听器附加到公共父级(如'document'),然后只要它们位于同一个'window'对象内,哪里做什么都没有关系(并且它不重要的是它在服务器上的背后)。像'$(document).on('shown',function(event){/ * existing callback * /});'。我建议也使用选择器来清晰和守卫,但这不是必需的。 –