1

私の問題

jQuery(document).ready(function () {

if ($('input.pokazkontakt').prop(':checked')) {
    $(this).parent().nextAll('.pkbox:first').css('display', 'block');
} else {
    $(this).parent().nextAll('.pkbox:first').css('display', 'none');
}

$('input.pokazkontakt').click(function () {
    $(this).parent().nextAll('.pkbox:first').toggle('fast');
});
});

デモ

JS の 2 番目の部分 (toogle) は機能していますが、最初にチェックボックスがオンになっているかどうかを確認し、div または show を非表示にしたいです。どこに問題がありますか?

4

2 に答える 2

2

これを試して:

jQuery(document).ready(function () {

    $('input.pokazkontakt').each(function(){
        if ($(this).is(':checked')) {
            $(this).parent().nextAll('.pkbox:first').css('display', 'none');
        } else {
            $(this).parent().nextAll('.pkbox:first').css('display', 'block');    
        }
    });

    $('input.pokazkontakt').click(function () {
        $(this).parent().nextAll('.pkbox:first').toggle('fast');
    });
});
  • display:noneとを設定するときは、ロジックを逆に使用しますdisplay:block
  • .isチェックされた状態を確認するために使用します。
  • .eachすべてのチェックボックスを反復するために使用します

デモ

于 2013-10-26T13:36:53.553 に答える
1

.is()を使用できます

if($('input.pokazkontakt').is(':checked'))

それ以外の if($('input.pokazkontakt').prop(':checked'))

デモ

于 2013-10-26T12:59:09.767 に答える