Public Access
0
0

Добавить js/createSelectElement.md

This commit is contained in:
2026-05-22 13:51:37 +00:00
parent f398f63cc9
commit 097f85b9be

72
js/createSelectElement.md Normal file
View File

@@ -0,0 +1,72 @@
# Создание выпадающего списка
### Пример работы
```js
attributes = {
"event":"addStatusTransport",
"attr_data":{
"brigade_id":document.getElementById("brigade_id").innerText,
"user1c_id":e.dataset.usesr1cId,
}
}
cElementBySelect(e.parentNode.nextElementSibling,status_transport,attributes);
```
```js
/**
* Создание вырадающего списка
*
* @param el - Элемент куда буде помещен созанный список
* @param data - объект с ключем и значением ([{value:text}])
* @param atttributes - Обект содержащий название события и аттридубыи data
*/
function cElementBySelect(el,data = {}, atttributes=null) {
select = document.createElement('select');
select.classList.add("form-select")
if(atttributes){
if('event' in atttributes){
select.addEventListener('change',window[atttributes.event])
}
if('attr_data' in atttributes){
Object.entries(atttributes.attr_data).forEach(([key, value]) => {
select.dataset[key] = value
});
}
}
if(Object.keys(data).length){
option = document.createElement('option');
option.value =0;
option.innerText = "";
select.append(option)
data.forEach((dt)=>{
option = document.createElement('option');
option.value =dt.value;
option.innerText = dt.text;
select.append(option)
})
elchild = el.querySelector("select") || null
if(!elchild){
el.append(select)
}
}else{
alert("Отсутствуют элементы для выпадающего списка");
}
}
```