Показать сообщение отдельно
  #10 (permalink)  
Старый 10.07.2020, 07:11
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,754

(function () {
	let chsk = [50, 50, 20];
	let k = 0, n = chsk[0];
    document.querySelectorAll("INPUT[type=checkbox]").forEach(
		(el, i) => {
			if (i == n) {k++; n+=chsk[k]}
			if (k%2 == 0) el.checked = true;
		}
    );
})();

Массив chsk задает количество отмечаемых и пропускаемых элементов
[nc1, ns1, nc2, ns2, nc3]
nc1, nc2, nc3 - сколько отметить; ns1, ns2 - сколько пропустить

<!DOCTYPE html>
<html lang="ru">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>checks</title>
</head>
<body>
<div id="block">
</div>
</body>
<script>
// Тут просто генерируем 50 чекбоксов
let s = '';
let n = 50;
for (let i=0; i<n; i++) s+=`${i}: <input type='checkbox' name='check'><br>`;
document.getElementById('block').innerHTML = s;
</script>

<script>
(function () {
// 10 отметить, 20 пропустить, 10 отметить, 7 пропустить, 2 отметить
	let chsk = [10, 20, 10, 7, 2]; 
	let k = 0, n = chsk[0];
    document.querySelectorAll("INPUT[type=checkbox]").forEach(
		(el, i) => {
			if (i == n) {k++; n+=chsk[k]}
			if (k%2 == 0) el.checked = true;
		}
    );
})();
</script>
</html>

Последний раз редактировалось voraa, 10.07.2020 в 07:17.
Ответить с цитированием