This commit is contained in:
2018-10-17 11:14:36 +03:00
parent 75a35947e5
commit 04d60d7e2c
2716 changed files with 431449 additions and 0 deletions
+48
View File
@@ -0,0 +1,48 @@
var MultiSelect = (function (GLOB) {
// Добавить элементы в поле назначения:
function moveItems(btn, srcSelect, dstSelect) {
btn.onclick = function () {
var i;
for (i = srcSelect.options.length - 1; i >= 0; i -= 1) {
if (srcSelect.options[i].selected) {
dstSelect.add(new Option(srcSelect.options[i].text, srcSelect.options[i].value));
srcSelect.remove(i);
}
}
};
}
// Подготовка данных к отправке:
function formSubmit(element) {
// Ф-ция делает все элеметы спика select выбраными:
function makeSelect(element) {
var i;
for (i = 0; i < element.options.length; i += 1) {
element.options[i].selected = true;
}
}
// Ниже мы всего лишь кроссбрауз. устанавливаем слушатель
// события отправки формы:
if (GLOB.document.addEventListener) {
element.form.addEventListener("submit", function () {
makeSelect(element);
}, true);
} else if (GLOB.document.attachEvent) {
element.form.attachEvent("onsubmit", function () {
makeSelect(element);
});
} else {
element.form.onsubmit = function () {
makeSelect(element);
};
}
}
return function (srcSelect, dstSelect, takeBtn, dropBtn) {
return {
init : function (srcSelect, dstSelect, takeBtn, dropBtn) {
moveItems(takeBtn, srcSelect, dstSelect);
moveItems(dropBtn, dstSelect, srcSelect);
formSubmit(dstSelect);
}
}.init(srcSelect, dstSelect, takeBtn, dropBtn);
};
}(this));