I have a dropdown input
<select id="training" name="TrainingTopic">
<option value="training 10">training 10</option>
<option value="training 9">training 9</option>
</select>
when i choose one of option dropdown text is change to selected option text, can i change this text on dropdown placeholder via js? like when i open dropdown i see ‘training 10’ and ‘training 9’ option but when i choose one i need custom text in placeholder, for example "you selected training 9", and in dropdown text of option still should be "training 9" and value of dropdown input also
>Solution :
Use a hidden option and the following JS
const elTrainingSelect = document.querySelector("#training");
const elTrainingHolder = elTrainingSelect.querySelector("option");
elTrainingSelect.addEventListener("input", () => {
elTrainingHolder.value = elTrainingSelect.value;
elTrainingHolder.textContent = `You selected: ${elTrainingSelect.value}`;
elTrainingSelect.selectedIndex = 0;
});
// Test
const elForm = document.querySelector("form");
elForm.addEventListener("submit", (ev) => {
ev.preventDefault();
const formData = new FormData(elForm);
console.log([...formData.values()])
});
<form>
<select id="training" name="TrainingTopic">
<option hidden>Select a training</option>
<option value="training 10">training 10</option>
<option value="training 9">training 9</option>
</select>
<button type="submit">SEND</button>
</form>