获取jQuery来处理复选框点击事件

时间:2012-01-27 15:51:44

标签: javascript jquery checkbox unobtrusive-javascript

据我所知,这个问题可能因为重复而被关闭(对不起,如果是),但在我的特定情况下,可能会出现一个不同的问题,因为功能不能按预期工作,那么它就是其他类似的问题。 / p>

假设我们有一个标记:

<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.ready事件:

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

Demo in JSFiddle.

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

1 个答案:

答案 0 :(得分: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/