1

クラス名.s-list の4 つの div があります。ユーザーがこれらの div のいずれかをクリックすると、.selectedクラスが div に適用されます。

私がやろうとしているのは、ボタンをクリックしているときに、それらすべての div をチェックし、それらのいずれかにクラス.selectedがある場合はフォームを送信することです。それ以外の場合、どの div にもクラス.selectedがない場合はエラー メッセージが表示されます。

問題: 初めて機能しますが、ボタンをクリックすると、エラー メッセージが表示され、div で既にクラスが選択されているときにフォームが送信されます。

$("#pp-btn").click(function() {

    $(".s-list").each(function (i) {
         if(!$(this).hasClass('selected')) 
         { 
            $("#p-msg").show(); 
         } 
         else { 

            $("#plans-form").attr('action', $(this).attr('links'));

            $("#p-msg").hide();
         }
        });  
    });

divのいずれかにクラスが「選択」されている場合、メッセージを表示したくありません。

助けてください...

4

4 に答える 4

1

jQuery セレクターを使用して、s-list要素にselectedクラスがあるかどうかを確認します。

$('#pp-btn').click(function (e) {

    if ($('.s-list.selected').length == 0) {
        /* No `selected` class on any `s-list` */
        $('#p-msg').show();
    } else {
        /* At least one `s-list` has the additional `selected` class */
        $('#plans-form').attr('action', $('.s-list.selected').attr('links'));
    }

});
于 2012-04-25T07:50:06.163 に答える
0
$("#pp-btn").on('click',function() {
    if($(".s-list.selected").length){ 
       //there are selected items
    } else { 
       //there is none
    } 
});
于 2012-04-25T07:50:47.570 に答える
0

次のように確認できます。

if ($(".s-list.selected").length == 0) { $("#p-msg").show();  }
else {
    $('#plats-form').attr('action', $('.s-list.selected').attr('links'));
    $("#p-msg").hide();
}
于 2012-04-25T07:50:58.190 に答える
0
$("#pp-btn").click(function() {

       var submit = false;

       $(".s-list").each(function (i) {
           if($(this).hasClass('selected')) { 
            submit = true;
           }
        }); 

       if(submit) {
           $("#p-msg").show(); 
       } else {
           $("#plans-form").attr('action', $(this).attr('links'));
           $("#p-msg").hide();
       }
    });
于 2012-04-25T08:00:03.193 に答える