У меня есть страница, которая позволяет людям назначать элементы категории и javascript, которые позволяют перемещать как можно больше элементов из одного поля слева направо и справа, чтобы пользователи могли просматривать и выбор тонкой настройки (который заканчивается в правом поле). Возможно, было бы лучше, если бы элементы могли перемещаться между списками вместо списков, но, по-моему, поле выбора полезно для выбора onclick. Когда пользователь закончил, мне нужно отправить элементы в правом поле в php-скрипт. Тем не менее, мне трудно понять, как захватить все предметы в правильном списке. В скрипте нет формы, поэтому он не может получить ее из document.form. Элементы на самом деле не выбраны, они просто заполняют список, и я хочу получить их все. Есть ли переменная, которая имеет весь список? Скрипт длинный, поэтому вот функции, которые работают. По существу мне нужен способ выписать список элементов в правом поле в конце. Спасибо за любые предложения.javascript захватить все значения списка для php
function moveToRightOrLeft(side) {
var listLeft = document.getElementById('selectLeft');
var listRight = document.getElementById('selectRight');
if (side == 1) {
if (listLeft.options.length == 0) {
alert('You have already assigned all items to the category');
return false;
} else {
var selectedItem = listLeft.options.selectedIndex;
move(listRight, listLeft.options[selectedItem].value, listLeft.options[selectedItem].text);
listLeft.remove(selectedItem);
if (listLeft.options.length > 0) {
listLeft.options[0].selected = true;
}
}
} else if (side == 2) {
if (listRight.options.length == 0) {
alert('The list is empty');
return false;
} else {
var selectedItem = listRight.options.selectedIndex;
move(listLeft, listRight.options[selectedItem].value, listRight.options[selectedItem].text);
listRight.remove(selectedItem);
if (listRight.options.length > 0) {
listRight.options[0].selected = true;
}
}
}
}
function move(listBoxTo, optionValue, optionDisplayText) {
var newOption = document.createElement("option");
newOption.value = optionValue;
newOption.text = optionDisplayText;
listBoxTo.add(newOption, null);
return true;
}
-1 для страшного форматирования. –
@DenisErmolin Требуется две секунды, чтобы отредактировать –