2016-07-29 4 views
0

поэтому у меня есть эта форма (jsfiddle link), и, как вы можете видеть, появляется больше выборов после выбора опции радио. Моя проблема в том, что если я нажму кнопку «Отправить», а затем выберите другую радиокнопку, а затем снова выберите первый параметр радио, проверка не будет удалена.как «очистить» ошибки проверки при использовании плагина проверки формы jQuery?

Есть ли способ сделать это? Я посмотрел на плагин various options, но ничего не выделяется.

Благодаря

вот мой JS код:

$(document).ready(function(){ 
$("[id$=dob]").datepicker({ changeMonth: true, changeYear: true, dateFormat: "dd-mm-yy", yearRange: "-100:+0" }); 
    $(document).on("click", "[id^=self_service_form_type_]", function(event) { 
     for (i=0; i < 2; i++) { 
      $("#type_"+i).hide(); 
     } 
     $("#type_"+event.target.id.slice(-1)).show(); 
    }); 

    $('#selfserviceform').validate({ 
     rules: { 
      "self_service_form[studentid]": { 
       required: { 
        depends: function() { 
         return $("#self_service_form_type_0").is(":checked"); 
        } 
       } 
      } 
      , "self_service_form[studentdob]": { 
       required: { 
        depends: function() { 
         return $("#self_service_form_type_0").is(":checked"); 
        } 
       } 
      } 
      , "self_service_form[hrnumber]": { 
       required: { 
        depends: function() { 
         return $("#self_service_form_type_2").is(":checked"); 
        } 
       } 
      } 
      , "self_service_form[hrdob]": { 
       required: { 
        depends: function() { 
         return $("#self_service_form_type_2").is(":checked"); 
        } 
       } 
      } 
     } 
    , focusCleanup: true 
     , messages: { 
      "self_service_form[studentid]": "" 
      , "self_service_form[studentdob]": "" 
      , "self_service_form[hrnumber]": "" 
      , "self_service_form[hrdob]": ""    
     } 
     , submitHandler: function (form) { // for demo 
      alert('valid form submitted'); // for demo 
      return false; // for demo 
     } 
    }); 
}); 

ответ

0

Я надеюсь, что это link будет полезным для вас.

$(document).ready(function(){ 
$("[id$=dob]").datepicker({ changeMonth: true, changeYear: true, dateFormat: "dd-mm-yy", yearRange: "-100:+0" }); 
    $(document).on("click", "[id^=self_service_form_type_]", function(event) { 
     for (i=0; i < 2; i++) { 
      $("#type_"+i).hide(); 
     } 
     $("#type_"+event.target.id.slice(-1)).show(); 
    }); 

    $('#selfserviceform').validate({ 
     rules: { 
      "self_service_form[studentid]": { 
       required: { 
        depends: function() { 
         return $("#self_service_form_type_0").is(":checked"); 
        } 
       } 
      } 
      , "self_service_form[studentdob]": { 
       required: { 
        depends: function() { 
         return $("#self_service_form_type_0").is(":checked"); 
        } 
       } 
      } 
      , "self_service_form[hrnumber]": { 
       required: { 
        depends: function() { 
         return $("#self_service_form_type_2").is(":checked"); 
        } 
       } 
      } 
      , "self_service_form[hrdob]": { 
       required: { 
        depends: function() { 
         return $("#self_service_form_type_2").is(":checked"); 
        } 
       } 
      } 
     } 
    , focusCleanup: true 
     , messages: { 
      "self_service_form[studentid]": "" 
      , "self_service_form[studentdob]": "" 
      , "self_service_form[hrnumber]": "" 
      , "self_service_form[hrdob]": ""    
     } 
     , submitHandler: function (form) { // for demo 
    if($("#self_service_form_type_0").is(":Checked") == true) 
    { 
     $("#self_service_form_studentid").val('') 
     $("#self_service_form_studentdob").val('') 
    } 
    if($("#self_service_form_type_1").is(":Checked") == true) 
    { 
     $("#self_service_form_hrnumber").val('') 
     $("#self_service_form_hrdob").val('') 
    } 

      alert('valid form submitted'); // for demo 
      return false; // for demo 
     } 
    }); 
}); 
Смежные вопросы