2012-04-25 29 views
1

我有四個div,類名爲.s-list。當用戶點擊任何這些div 。選中類被應用在div上。選擇一個有jQuery類的元素hasClass

我所試圖做的,而在一個按鈕點擊是,檢查所有這些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(); 
     } 
     }); 
    }); 

我不希望郵件顯示,如果任何1的div有'選擇'類。

請幫助...

回答

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')); 
    } 

}); 
+0

非常感謝,完美的作品... – departedmind 2012-04-25 08:07:55

0
$("#pp-btn").on('click',function() { 
    if($(".s-list.selected").length){ 
     //there are selected items 
    } else { 
     //there is none 
    } 
}); 
0

你可以檢查這樣的:

if ($(".s-list.selected").length == 0) { $("#p-msg").show(); } 
else { 
    $('#plats-form').attr('action', $('.s-list.selected').attr('links')); 
    $("#p-msg").hide(); 
} 
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(); 
     } 
    }); 
相關問題