2012-01-27 76 views
0

我知道这个问题可能会因为重复而被关闭(对不起,如果是),但在我的特殊情况下,可能会出现不同的问题,因为功能不能按预期方式工作,是在其他类似的问题。获取jQuery处理复选框单击事件

假设我们有一个标记:

<div> 
    <label for="IsRecurring">Is Recurring</label> 
</div> 
<div> 
    <input id="IsRecurring" name="IsRecurring" type="checkbox" value="true"> 
    <input name="IsRecurring" type="hidden" value="false" />    
</div> 

<div id="schedulerTypesList" style="display:none"> 
    <div> 
     <label for="ScheduleTypeId">Schedule</label> 
    </div> 
    <div class="editor-field"> 
     <input type="hidden" name="ScheduleTypeId" id="ScheduleTypeId" value="" /> 

     <ul id="ScheduleTypeIdlist" > 
      <li>Once a weel</li> 
     </ul> 
    </div> 
</div> 

而一个JS附着在事件的document.ready:

$(document).ready(function() { 
    $('#IsRecurring').click(function() {   
     var thisCheck = $(this); 
     if (thischeck.is(':checked')) 
      $('#schedulerTypesList').show(); 
     } 
     else { 
      $('#schedulerTypesList').hide(); 
     }) 
    }); 

Demo in JSFiddle.

为什么复选框,单击事件不切换显示的div?

回答

3

有几个问题!

$(document).ready(function() { 
    $('#IsRecurring').click(function() { 
     var thisCheck = $(this); 
     if (thisCheck.is(':checked')) { // added this closing bracket 
      $('#schedulerTypesList').show(); 
     } 
     else { 
      $('#schedulerTypesList').hide(); 
     } // added this closing bracket 
    }); 
}); 

缺少支架ifthischeck代替thisCheck后和加入正确闭合支架。工作演示:http://jsfiddle.net/manseuk/4DqXv/18/

+0

是的,我是一个dumbo =)谢谢。 – 2012-01-27 16:03:21

+0

@ MaximV.Pavlov我们都去过那里.... :-) – ManseUK 2012-01-27 16:09:59