这是我的代码
$('.f1 .btn-next').on('click', function() {
var parent_fieldset = $(this).parents('fieldset');
var next_step = true;
// navigation steps / progress steps
var current_active_step = $(this).parents('.f1').find('.f1-step.active');
var progress_line = $(this).parents('.f1').find('.f1-progress-line');
// fields validation
parent_fieldset.find('input[type="text"], select').each(function() {
if( $(this).val() == "" ) {
$(this).addClass('input-error');
next_step = false;
}
else {
$(this).removeClass('input-error');
}
});
// fields validation
它是我在Multi-step Form中使用的一种验证,这里输入文本字段验证工作正常但是对于Select / Checkbox / Radio,它不起作用,请帮我修复代码。
我已经尝试过这段代码,但它不适用于选择字段 -
parent_fieldset.find('input[type="text"], select', '.sys').each(function() {
答案 0 :(得分:0)
请尝试以下代码。
parent_fieldset.find(':input').each(function() {
//Your code goes here.
}
//Try this one another way to validate form fields
var allFormData = $('#myForm').serializeArray();
for(var dataIndex = 0 ; dataIndex < allFormData.length ; dataIndex++){
if(allFormData[dataIndex].value == ""){
$("#myForm input[name="+allFormData[dataIndex].name+"]").addClass("input-error");
}else{
$("#myForm input[name="+allFormData[dataIndex].name+"]").removeClass('input-error');
}
}
答案 1 :(得分:0)
你说你只想要输入类型为文本的输入,这就是你得到的。如果您想要每种类型的输入,只需将类型规范从选择器中取出,如下所示:
parent_fieldset.find(':input').each(function() {
}
修改:jQuery :input
扩展程序将包含select元素,而input
则不会。 jQuery文档是here。
答案 2 :(得分:0)
所以这是我的最终代码,它与所有选择,广播,复选框字段完美配合
parent_fieldset.find('input[type="text"], select', '.sys').each(function(key, value) {