2017-03-24 71 views
-1

我想驗證我的表單的所有類型的輸入,但只有單選按鈕和複選框不驗證。無線電和複選框不驗證

這裏是我的代碼

function validateFormSection() { 
    var valid = true; 
    var section = $('.tab-pane.active'); 
    var inputs = section.find('input, select, textarea','radio','checkbox'); 

    var focusElem; 

    inputs.each(function(index, el) { 
     var elem = $(el); 
     if (elem.prop('required')) { 
      if (elem.val() == "") { 
       elem.closest('.form-group').addClass('has-error'); 
       valid = false; 
      } 
     } 

    }); 



    if (!valid) { 
     focusElem.focus(); 
    } 
    return valid; 
} 
+0

請不要使用jQuery Validate標記,除非問題是關於此插件的具體問題。編輯。 – Sparky

回答

1

find('input, select, textarea','radio','checkbox');

廣播複選框不是元素。你基本上是說,找到所有叫做<radio><checkbox>的元素。

這不會是一個問題,因爲input將封裝這些元素。問題來自於find的論點。當只需要一個參數時,你有三個參數。

find('input, select, textarea');

如果你想明確地檢查收音機和複選框,你可以使用:

find('input[type=radio], input[type=checkbox]')

0

那麼技術上選和單選按鈕總是有效的,因爲它們是二進制。但如果你想看看是否勾選複選框,我如何在jQuery中執行此操作:

$("#chkInclude").is(':checked')