1

我有四个类名为.s-list 的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 中的任何 1 个具有“已选择”类,我不希望显示该消息。

请帮忙...

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 回答