I have a form that has select boxes and when I select an option. I want it to display an input to and input field. I have done this just fine with an change event listener on the select boxes for one of them. My problem is I have 4 select boxes and 4 input values I want to do this to. I know I have to use query selector all and use are forEach loop but that is as far as I've gotten. When using the query selector all, should I have all the ID's on the select boxes the same or is it easier to just get all the select boxes from the query selector all?
My select boxes and inputs are all set up the same with the exception of different id names.
// codes for input boxes
let trimCode = '123456kj';
let chassisCode = 'ab123';
let finalCode = 'abcd1254';
let materialCode = 'mnb124578';
let qualityCode = 'abc123456';
let paintCode = 'zyf123';
let bodyCode = 'typ4598';
// event listener for one select box
currentDept.addEventListener('change', changeCode);
// changeCode function
function changeCode() {
const x = currentDept.value;
switch (x) {
case "trim":
classCode.value = trimCode;
break;
case "chassis":
classCode.value = chassisCode;
break;
case "final":
classCode.value = finalCode;
break;
case "material":
classCode.value = materialCode;
break;
case "quality":
classCode.value = qualityCode;
break;
case "paint":
classCode.value = paintCode;
break;
case "body":
classCode.value = bodyCode;
break;
default:
console.log('something went wrong');
}
}
<div class="form-control">
<label for="current">Current Department</label>
<select name="current" id="currentDept">
<option value="trim" selected>Trim</option>
<option value="chassis">Chassis</option>
<option value="final">Final</option>
<option value="material">Material</option>
<option value="quality">Quality</option>
<option value="paint">Paint</option>
<option value="body">Body</option>
</select>
<small>Error Message</small>
</div>
<div class="form-control">
<label for="classCode">Current Classification Code</label>
<input type="text" id="classCode" placeholder="Enter Current Classification Code">
<small>Error Message</small>
</div>