2016-08-02 12 views
1

Problem mit: als ich eincheckte ‚bin ich Fresher‘ Checkbox dann will ich ‚Experience Feld‘ verstecken, aber immer noch seine Validierung nicht verstecken/entfernen so meine Form nicht in der Vorlage.Checkbox klicken dann entfernen Validierung jquery

Ich brauche: Wenn ich überprüft habe "Ich bin frischer" dann verstecken nur Erfahrung und seine Validierung.

 $('.fresher_checked').click(function(){ 
     if (this.checked) { 
      $('div.imfresher').hide(); 
     } else { 
      $('div.imfresher').show(); 
     } 
    }); 

Detailcode in Demo

Antwort

0

müssen Sie überprüfen, ob Checkbox aktiviert ist Code einreichen zu

if($('.fresher_checked').is(":checked")) 
     { 

     return isNotEmpty($form.find('#f_name'), "Please enter your name.", 
       $form.find('#elmNameError')) 

       ; 
     } 
     else{ 

     return isNotEmpty($form.find('#f_name'), "Please enter your name.", 
       $form.find('#elmNameError')) 
       && isNotEmpty($form.find('#w_company_one'), "Please enter Experience.", 
       $form.find('#elmExpError')) 
       ; 
     } 

Working Demo

0

Fügen Sie diese beiden Regel in Ihrem JS. Bevor das Feld ausgeblendet wurde, disabled.

$("#filedId").prop('disabled', true); 

Überprüfen Sie nicht disabled Felder in Validierungsregel.

var isDisabled = $('textbox').prop('disabled'); 

isDisabled ist ein boolescher Wert

0

Bitte versuchen Sie diese

$(function() { 
    // Set initial focus 

    $('.fresher_checked').click(function(){ 
     if (this.checked) { 
      $("#w_company_one").prop('disabled', true); 
      $('div.imfresher').hide(); 
     } else { 
      $("#w_company_one").prop('disabled', false); 
      $('div.imfresher').show(); 
     } 
    }); 

    //validation 
    $('#signup_form').on('submit', function() { 
     var $form = $(this); 
     // return false would prevent default submission 
     return isNotEmpty($form.find('#f_name'), "Please enter your name.", 
       $form.find('#elmNameError')) 
       && isNotEmpty($form.find('#w_company_one'), "Please enter Experience.", 
       $form.find('#elmExpError')) 
       ; 
    }); 

    }); 

function isNotEmpty(inputElm, errMsg, errElm) { 
    var isValid = (inputElm.val().trim() !== ""); 
    if(inputElm.is(':disabled')){ 
    return true; 
    } 
    else 
    { 
    postValidate(isValid, errMsg, errElm, inputElm); 
    return isValid; 
    } 
} 

function postValidate(isValid, errMsg, errElm, inputElm) { 
    if (!isValid) { 
     // Show errMsg on errElm, if provided. 
     if (errElm !== undefined && errElm !== null 
      && errMsg !== undefined && errMsg !== null) { 
     errElm.html(errMsg); 
     } 
     // Set focus on Input Element for correcting error, if provided. 
     if (inputElm !== undefined && inputElm !== null) { 
     inputElm.addClass("errorBox"); // Add class for styling 
     inputElm.focus(); 
     } 
    } else { 
     // Clear previous error message on errElm, if provided. 
     if (errElm !== undefined && errElm !== null) { 
     errElm.html(''); 
     } 
     if (inputElm !== undefined && inputElm !== null) { 
     inputElm.removeClass("errorBox"); 
     } 
    } 
}