Hi i have script code for my multiselect :)
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();
i thinking about block selecting when limit is for example "3" = el.attributes['multiselect-max-items']?.value = "3"
How i can add there this limit?