mrusklon
@mrusklon
Не получается? Яростно гугли!

Как задать select value?

есть простой select
<select class="subcat">
<option value="">выбрать</option>
<option value="9">123</option>
<option value="20">321</option>
</select>

мне надо отобразить текст в селекте например "тут нечего нет" и задизейблить его
$(".subcat").prop("disabled", true);
а как если бы это был input я сделал бы .val("тут нечего нет");
но как с селектом сделать?
  • Вопрос задан
  • 45 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
<button>toggle disabled</button>
<select>
  <option value="">выбрать</option>
  <option value="69">hello, world!!</option>
  <option value="187">fuck the world</option>
  <option value="666">fuck everything</option>
</select>

const $select = $('select');

$('button').click(function() {
  $select
    .prop('disabled', (i, val) => !val)
    .val('')
    .find('[value=""]')
    .text(() => $select.prop('disabled') ? 'тут ничего нет' : 'выбрать');
});

// или

const select = document.querySelector('select');

document.querySelector('button').addEventListener('click', () => {
  select.disabled = !select.disabled;
  select.value = '';
  select.options[0].textContent = select.disabled ? 'тут ничего нет' : 'выбрать';
});
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Eridani
@Eridani
Мимо проходил
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы