Skip to main content
Known Participant
November 18, 2020
Question

Depending on option selected non-relevant fields will be filled with black colour.

  • November 18, 2020
  • 1 reply
  • 1398 views

Hi

I'd really appreciate if someone could help me.

I already have a script that will automatically fill non relevant fields a black colour when the user selects 'Contractor' from the drop down options. However I need other fields to be filled black if the user selects the other drop option 'Team Member' such as Manager Name and Job Title fields, etc.

Can I add something to the below script to include this?

var fields = ["Currency", "Salary", "Sal Basis", "Salary R", "Sal Year", "Per", "Per F", "Pro Day", "Pro Mont", "Note Day", "Note Mont", "Per", "Company Car", "Car Allowance", "Fuel Card", "Fuel Allowance", "PlanType", "LocalBonus", "Sub Plan", "Annual Target", "Target Amount", "Healthcare", "Local Healthcare", "Life Insurance", "Employee", "Employer", "Charged Segment",];
//
for (var i in fields) {
var f = this.getField(fields[i]);
if (event.value!="Contractor") {
f.required = true;
f.fillColor = color.transparent;
f.readonly = false;
} else {
f.required = false;
f.fillColor = color.black;
f.readonly = true;
}
}

This topic has been closed for replies.

1 reply

Bernd Alheit
Community Expert
Community Expert
November 18, 2020

May be possible with 2 arrays.

CiaranMHRAuthor
Known Participant
November 18, 2020

Thanks Bernard, how would I apply 2 arrays?

Bernd Alheit
Community Expert
Community Expert
November 18, 2020

Like this:

 

var fields1 = ...  // replace ... with the list of field names
var fields2 = ...

for (var i in fields1) {
  var f = this.getField(fields1[i]);
  f.required = true;
  f.fillColor = color.transparent;
  f.readonly = false;
}

for (var i in fields2) {
  var f = this.getField(fields2[i]);
  f.required = true;
  f.fillColor = color.transparent;
  f.readonly = false;
}

if (event.value=="Contractor") {
  for (var i in fields1) {
    var f = this.getField(fields1[i]);
    f.required = false;
    f.fillColor = color.black;
    f.readonly = true;
  }
} else if (event.value=="Team Member") {
  for (var i in fields2) {
    var f = this.getField(fields2[i]);
    f.required = false;
    f.fillColor = color.black;
    f.readonly = true;
  }
}