0

私はこれを試しましたが、うまくいきません:

$('cbxShowNotifications').click(function()
{
    var tview = $('#treeview');

    if ($(this).checked)
    {
        tview.show();
    }
    else
    {
        tview.hide();
    }
});

編集 -

いくつか修正しましたが、DIV を非表示にした後も DIV を表示できません。

$('#cbxShowNotifications').on('click', (function()
{
    var tview = $('#treeview');

    if ($(this).checked)
    {
        tview.show();
    }
    else
    {
        tview.hide();
    }
}));
4

5 に答える 5

4

($(this).checked) を ($(this).is(':checked')) に変更します

于 2013-08-06T22:49:46.997 に答える
1

いくつかの構文の問題があるため、チェックボックスの変更イベントを監視する必要があります。

$('#cbxShowNotifications').on('change', function () {
    var tview = $('#treeview');
    if ($(this).prop('checked')) {
        tview.show();
    } else {
        tview.hide();
    }
});

注: 変更イベントのトリガーによって初期状態を設定できます。

$('#cbxShowNotifications').trigger('change');
于 2013-08-06T22:53:44.670 に答える
0

あなたの質問が jQuery に関連していることは承知していますが、目的が純粋にプレゼンテーションである場合は、同じことを達成するための CSS の方法を検討できます。

#treeview {
  display: none
}

#cbxShowNotifications:checked ~ #treeview {
  display: block
}

ここで例を見ることができます: http://jsfiddle.net/BZQX4/5/

于 2013-08-06T23:34:36.070 に答える