1

このjqueryコードが理にかなっている場合、誰か教えてもらえますか? ドキュメント対応ブロックでラップしています。一連の条件が true の場合に要素を非表示にしようとしていますが、送信ボタンをクリックすると、チェックボックスの 1 つが実際にチェックされていることがわかり、要素が非表示ではなく表示されます。以下のコードで不足していることが明らかなものはありますか:

            $('#submit').on('click', function() {
            if ($('#Option1').not(':checked') &&
            $('#Option2').not(':checked') &&
            $('#Option3').not(':checked') &&
            $('#Option4').not(':checked') &&
            $('#Option5').not(':checked')) {
                $("form").submit(function () {
                    return false;
                });
                $('#selectOption').show();
            } else {
                $('#selectOption').hide();
            }
        });
4

1 に答える 1

2

とにかくページをリダイレクトするため、フォームが送信されたときに何かを非表示または表示しても意味がありません。私はこのようなことをして、オプションで始まるIDを持つボックスがチェックされているかどうかを確認し、ボックスがチェックされていない場合はクリックを防ぎます。

$('#submit').on('click', function(e) {
    if (!$('[id^="Option"]').is(':checked')) {
         e.preventDefault();
         $('#selectOption').show();
    }
});
于 2012-10-30T22:34:20.883 に答える