カテゴリにアイテムを割り当てることができるページと、ユーザーが選択項目をプレビューして微調整できるように、ユーザーが必要な数のアイテムを左側のボックスから右側のボックスに移動できるページがあります(最終的には右側のボックスになります)。 )。リストボックスではなくリスト間でアイテムを移動できる方が良いかもしれませんが、選択ボックスは、クリック時に選択するのに適していると思います。ユーザーが完了したら、右のボックスの項目をphpスクリプトに投稿する必要があります。ただし、正しいリストのすべてのアイテムをキャプチャする方法を理解するのに問題があります。スクリプトにフォームがないため、document.formからフォームを取得できません。アイテムは実際には選択されていません。リストに入力するだけなので、すべて取得したいと思います。リスト全体を含む変数はありますか?スクリプトは長いので、ここに機能する関数があります。基本的に、最後の右のボックスに要素のリストを書き出す方法が必要です。提案をありがとう。
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;
}