Как заставить менять состояние option по клику?

Чтобы изменить состояние элемента option по клику, вам потребуется использовать JavaScript для обработки события клика и изменения атрибута selected элемента option.

Вот пример кода, который демонстрирует, как это сделать:

<select id="mySelect">
  <option value="option1">Опция 1</option>
  <option value="option2">Опция 2</option>
  <option value="option3">Опция 3</option>
</select>

<script>
  // Получаем элемент select
  var selectElement = document.getElementById("mySelect");

  // Добавляем обработчик события "click"
  selectElement.addEventListener("click", function(event) {
    // Получаем выбранную опцию
    var selectedOption = selectElement.options[selectElement.selectedIndex];

    // Изменяем атрибут selected
    selectedOption.selected = !selectedOption.selected;
  });
</script>

В этом примере мы получаем элемент select с помощью метода getElementById, а затем добавляем обработчик события click с помощью addEventListener. В обработчике события мы получаем выбранную опцию с помощью свойства selectedIndex и options элемента select. Затем мы изменяем атрибут selected выбранной опции на противоположное состояние, используя значение !selectedOption.selected.

Таким образом, при каждом нажатии на элемент option его состояние будет изменяться. Если опция изначально была выбранной, то она станет невыбранной, и наоборот.