jQuery как проверить нет ли в массиве элемента с определенным значением val()
Есть несколько чекбоксов:
<div id="checkboxes-1">
<label><input type="checkbox" value='32'/>Первый</label>
<label><input type="checkbox" value='33'/>Второй</label>
<label><input type="checkbox" value='34'/>Третий</label>
</div>
Как можно задать условие, ЕСЛИ в массиве среди отмеченных чебкосов $('#checkboxes-1').find('input:checked') нет input с val() === '32', ТО...
Ответы (1 шт):
Автор решения: Алексей Шиманский
→ Ссылка
let values = Array.from(document.querySelectorAll("input.checkbox:checked")).map(e => +e.value);
let arrayHasValue = (arr, search) => arr.includes(search);
let search = 32;
if (arrayHasValue(values, search))
console.log('есть');
else
console.log('нет');
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0/jquery.min.js"></script>
<div id="checkboxes-1">
<label><input type="checkbox" value='32' class="checkbox" checked/>Первый</label>
<label><input type="checkbox" value='33' class="checkbox" checked/>Второй</label>
<label><input type="checkbox" value='34' class="checkbox"/>Третий</label>
</div>
Более краткий вариант:
let has = document.querySelector('input.checkbox[value="32"]:checked');
if (has)
console.log('есть');
else
console.log('нет');
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0/jquery.min.js"></script>
<div id="checkboxes-1">
<label><input type="checkbox" value='32' class="checkbox" checked/>Первый</label>
<label><input type="checkbox" value='33' class="checkbox" checked/>Второй</label>
<label><input type="checkbox" value='34' class="checkbox"/>Третий</label>
</div>
C Jquery
let has = $('input.checkbox[value=32]:checked').length > 0
if (has)
console.log('есть');
else
console.log('нет');
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0/jquery.min.js"></script>
<div id="checkboxes-1">
<label><input type="checkbox" value='32' class="checkbox" checked/>Первый</label>
<label><input type="checkbox" value='33' class="checkbox" checked/>Второй</label>
<label><input type="checkbox" value='34' class="checkbox"/>Третий</label>
</div>