0

チェックボックスがチェックされているときはいくつか非表示にし、チェックボックスがチェックされていないときはそれらを表示する必要があります。クラス セレクターを使用してドキュメントを調べ、これらの要素を非表示にします。

コードは機能しているようですが、唯一の問題は、ページが読み込まれるたびに確認すると、変更イベントが発生しないことです。チェックを外してからもう一度チェックすると、イベントが発生します。私が間違ったことを理解するのを手伝ってください。

        <script type="text/javascript">
            $(document).ready(function () {
                $('#chkFiles').change(function () {
                    if (this.checked)
                        $(".hideWhenChecked").hide();
                    else
                        $(".hideWhenChecked").show();
                });
            });
    </script>

非表示にする要素は次のとおりです。

    <TR>
        <TD style="WIDTH: 144px" width="144"><span class="hideWhenChecked">Select:</span></TD>
        <TD><span class="hideWhenChecked"><asp:dropdownlist id="ddl" runat="server" AutoPostBack="True"></asp:dropdownlist></span></TD>
</TR>

私たちの jquery ライブラリは 1.4.1 です。これは古いものですが、更新するかどうかを決定するのは私次第ではありません。このバージョンでは一部の機能が利用できません。

4

1 に答える 1

0

.hideWhenCheckedサーバーからのアクセス方法に応じて非表示にできるように、ページの読み込み時にチェック済みの変更内でロジックを実行する必要がありchkFilesます。

<script type="text/javascript">
    $(document).ready(function () {
        onChkChanged(); // <-- execute on page load

        $('#chkFiles').change(function () {
            onChkChanged(); // <-- execute on checked changed
        });
    });

    function onChkChanged() {
        var show = $('#chkFiles').is(':not(:checked)');
        $(".hideWhenChecked").toggle(show);
    }
</script>
于 2013-06-13T19:38:28.710 に答える