Hola, tengo un código de script para mi selección múltiple :)
Array.from(el.options).map(o => { var op = newEl('div', {class: o.selected ? 'checked' : '', optEl: o}) var ic = newEl('input', {type: 'checkbox', checked: o.selected}); op.appendChild(ic); op.appendChild(newEl('label', {text: o.text})); op.addEventListener('click', () => { console.log(!ic.checked) op.classList.toggle('checked'); op.querySelector("input").checked = !op.querySelector("input").checked; op.optEl.selected = !!!op.optEl.selected; el.dispatchEvent(new Event('change')); }); ic.addEventListener('click', (ev) => { ic.checked = !ic.checked; }); list.appendChild(op); }); div.listEl = listWrap; div.refresh = () => { div.querySelectorAll('span.optext, span.placeholder').forEach(t => div.removeChild(t)); var sels = Array.from(el.selectedOptions); sels.map(x => { var c = newEl('span', {class: 'optext', text: x.text}); div.appendChild(c); }); if (0 === el.selectedOptions.length) div.appendChild(newEl('span', { class: 'placeholder', text: el.attributes['placeholder']?.value ?? config.placeholder })); }; div.refresh();Estoy pensando en la selección de bloques cuando el límite es, por ejemplo, "3" = el.attributes['multiselect-max-items']?.value = "3"
¿Cómo puedo agregar allí este límite?