我想验证表单的所有类型的输入,但只有单选按钮和复选框才能验证。
这是我的代码
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 :(得分:1)
find('input, select, textarea','radio','checkbox');
广播和复选框不是元素。您基本上是在说,找到所有名为<radio>
或<checkbox>
的元素。
这不会是一个问题,因为input
将封装这些元素。问题来自find
的论点。当只需要一个时,你有3个参数。
find('input, select, textarea');
如果您想明确检查无线电和复选框,可以使用:
find('input[type=radio], input[type=checkbox]')
答案 1 :(得分:0)
技术上,Checkbox和Radio按钮始终有效,因为它们是二进制的。但是如果你想查看是否选中了一个复选框,我是如何在jQuery中执行的:
$("#chkInclude").is(':checked')