2015-08-03 53 views
0

我正在使用jQuery驗證並試圖爲錯誤狀態收音機和複選框設置樣式。jQuery驗證複選框/收音機的樣式父div只

因爲我不能改變單選按鈕本身,這是我目前使用的目標中的所有字段,如果他們錯誤,它會改變文本,textarea,選擇等的背景顏色,它也增加父div的邊框(這是我如何通知無線電和複選框的錯誤)。

問題是我只想將邊框添加到單選按鈕和複選框的父div,而不是用於文本,textarea和選擇框。我怎樣才能做到這一點?

jQuery(document).ready(function() { 
    $(".myform").validate({ 
     highlight: function (element) { 
      $(element).parent('div').addClass("parent-error"); 
      $(element).addClass("error"); 
     }, 
     unhighlight: function (element) { 
      $(element).parent('div').removeClass("parent-error"); 
      $(element).removeClass("error"); 
     } 
    }); 
}); 

http://jsfiddle.net/5L74Lvzt/

回答

0

我計算出來使用

if ($(element).is(':radio') || $(element).is(':checkbox')) { 

這使得代碼我使用:

jQuery(document).ready(function() { 
    $(".myform").validate({ 
     highlight: function (element) { 
      if ($(element).is(':radio') || $(element).is(':checkbox')) { 
       $(element).parent('div').addClass("parent-error"); 
      } 
      $(element).addClass("error"); 
     }, 
     unhighlight: function (element) { 
      if ($(element).is(':radio') || $(element).is(':checkbox')) { 
       $(element).parent('div').removeClass("parent-error"); 
      } 
      $(element).removeClass("error"); 
     } 
    }); 
});