Как связать селект с чекбоксом?

88
15 марта 2022, 23:30

Требуется связать чекбокс с мультиселектом. Изначально чекбокс активен, но при выборе из селекта, нужно, что бы чекбокс снимался, а если убрать всё из селекта, возвращался обратно. Какие есть варианты с использованием jQuery?

<select multiple> 
                <option>Чебурашка</option> 
                <option>Крокодил Гена</option> 
                <option>Шапокляк</option> 
                <option>Крыса Лариса</option> 
        </select> 
        <input type="checkbox">

Answer 1

$("select").change(function() { 
  if ($("select option:selected").length > 0) { 
    $("input[type='checkbox']").prop("checked", false); 
  } else { 
    $("input[type='checkbox']").prop("checked", true); 
  } 
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> 
<select multiple> 
  <option>Чебурашка</option> 
  <option>Крокодил Гена</option> 
  <option>Шапокляк</option> 
  <option>Крыса Лариса</option> 
</select> 
<input type="checkbox" checked>

Answer 2

$('select').on('click', function() { 
  $(this).parent().find('input[type="checkbox"]').prop('checked', false); 
}); 
 
$('input[type="checkbox"]').on('click', function() { 
  if($(this).prop('checked')) { 
    $(this).parent().find('select option:selected').prop("selected", false); 
  } 
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> 
<div class="wrapper"> 
  <select multiple> 
    <option>Чебурашка</option> 
    <option>Крокодил Гена</option> 
    <option>Шапокляк</option> 
    <option>Крыса Лариса</option> 
  </select> 
  <input type="checkbox" checked="checked"> 
</div> 
<div class="wrapper"> 
  <select multiple> 
    <option>Чебурашка</option> 
    <option>Крокодил Гена</option> 
    <option>Шапокляк</option> 
    <option>Крыса Лариса</option> 
  </select> 
  <input type="checkbox" checked="checked"> 
</div>

READ ALSO
Разметка страницы в две колонки

Разметка страницы в две колонки

Помогите сделать две картинки+текст в две колонкиВот так -

252
html &lt;textarea&gt; не выводит весь текст

html <textarea> не выводит весь текст

Из дб берётся текст, записывается в переменнуюПеременная выводится через php на страницу в <textarea>

107
std::regex_match не находит вхождений [дубликат]

std::regex_match не находит вхождений [дубликат]

Либо я чего-то не понимаю, либо библиотека работает не так как все

105
Как моргать светодиодами без delay()?

Как моргать светодиодами без delay()?

Есть 4 светодиодаМне надо чтобы 1 светодиод горел 8 секунд, а остальные 3 по 500 миллисекунд

112