0

选中复选框时,我一直在使用以下代码更新 div 样式:

http://jsfiddle.net/tPawr/6/

$(document).ready(function() {
    var checkbox = $('input[type="checkbox"]');
    var checkimage = $('<div class="checkbox-image" />');
    $(checkbox).each( function() {
        $(this).show().before( checkimage );
    });
    $(checkbox).prop('checked', function() {
        $('.checkbox-image').addClass('checked');
    });
    $('checkbox-image').on('click',function() {
        $(this).toggleClass('checked').after().prop('checked',$(this).is('.checked'));
    });
});

它工作正常,然后停止工作,我不知道为什么?任何人都可以帮忙吗?

4

2 回答 2

1

你漏掉了一个点:

$('.checkbox-image').on('click',function(){
   ^

小提琴

于 2013-09-19T02:41:36.423 回答
0

小提琴中不包含 jQuery 库 - (在 LHS 面板中,首先下拉选择 jQuery 版本)

您的checkbox-image选择器错误,因为它缺少.前面的。

代码也可以简化为

$(document).ready(function() {

    var checkbox = $('input[type="checkbox"]');
    var checkimage = $('.checkbox-image');

    checkimage.click(function(){
        $(this).toggleClass('checked').next().prop('checked',$(this).is('.checked'));
    }); 

    checkbox.change(function(){
        checkimage.toggleClass('checked', this.checked)
    }).change();

});

演示:小提琴

于 2013-09-19T02:39:31.957 回答