Unable to Hide Field when i Choose None Option

rajeshraji1
Tera Expert

I have created three choice include none, All my choices work as expected but when i choose choice 1 to None it fail to hide the filed and same for choice 2 and 3 as well kindly  need clarity on this.

 


function onChange(control, oldValue, newValue, isLoading, isTemplate) {
    if (isLoading && newValue === '') {
        return; // Prevent running during initial load if newValue is empty
    }
    if (newValue === oldValue) {
        return;
    }
    handleEmployeeTypeChange(newValue);
}

function handleEmployeeTypeChange(selectedType) {
    // Field names

    var employeeNameField = 'employee_name';
    var employeeIdField = 'employee_id';
    var traineeNameField = 'trainee_name';
    var traineeIdField = 'trainee_id';
    var studentNameField = 'student_name';
    var studentIdField = 'student_id';

    // Function to set field visibility and mandatory status
    function setFieldDisplayAndMandatory(fieldName, visible, mandatory) {
        g_form.setDisplay(fieldName, visible);
        g_form.setMandatory(fieldName, mandatory);
    }

    // Initially hide and make all fields non-mandatory
    setFieldDisplayAndMandatory(employeeNameField, false, false);
    setFieldDisplayAndMandatory(employeeIdField, false, false);
    setFieldDisplayAndMandatory(traineeNameField, false, false);
    setFieldDisplayAndMandatory(traineeIdField, false, false);
    setFieldDisplayAndMandatory(studentNameField, false, false);
    setFieldDisplayAndMandatory(studentIdField, false, false);

    // Show and set mandatory based on the selected choice
    if (selectedType === '') {
        setFieldDisplayAndMandatory(employeeNameField, false, false);
        setFieldDisplayAndMandatory(employeeIdField, false, false);
        setFieldDisplayAndMandatory(traineeNameField, false, false);
        setFieldDisplayAndMandatory(traineeIdField, false, false);
        setFieldDisplayAndMandatory(studentNameField, false, false);
        setFieldDisplayAndMandatory(studentIdField, false, false);
    } else if (selectedType === 'newemployee') {
        setFieldDisplayAndMandatory(employeeNameField, true, true);
        setFieldDisplayAndMandatory(employeeIdField, true, true);
        setFieldDisplayAndMandatory(traineeNameField, false, false);
        setFieldDisplayAndMandatory(traineeIdField, false, false);
        setFieldDisplayAndMandatory(studentNameField, false, false);
        setFieldDisplayAndMandatory(studentIdField, false, false);
    } else if (selectedType === 'trainee') {
        setFieldDisplayAndMandatory(employeeNameField, false, false);
        setFieldDisplayAndMandatory(employeeIdField, false, false);
        setFieldDisplayAndMandatory(traineeNameField, true, true);
        setFieldDisplayAndMandatory(traineeIdField, true, true);
        setFieldDisplayAndMandatory(studentNameField, false, false);
        setFieldDisplayAndMandatory(studentIdField, false, false);
    } else if (selectedType === 'student') {
        setFieldDisplayAndMandatory(studentNameField, true, true);
        setFieldDisplayAndMandatory(studentIdField, true, true);
        setFieldDisplayAndMandatory(employeeNameField, false, false);
        setFieldDisplayAndMandatory(employeeIdField, false, false);
        setFieldDisplayAndMandatory(traineeNameField, false, false);
        setFieldDisplayAndMandatory(traineeIdField, false, false);
    }
 
}
  // If 'none' or any other value is selected, the fields remain hidden 
 

 

6 REPLIES 6

rajeshraji1
Tera Expert

@Ankur Bawiskar its not working 

@rajeshraji1 

what debugging did you perform?

did you add alert and see?

If my response helped please mark it correct and close the thread so that it benefits future readers.