私はこの答えのようなことをしようとしています: https://stackoverflow.com/a/6256910/1641189
ただし、スクロールバーがあるため、複数選択フィールドで実行したいと考えています。
上記の回答リンクのように、各アイテムをクリックするとすぐに移動する代わりに、2 つの選択フィールドの間に 2 つのボタンを配置します。
このようなもの: http://www.kj4ohh.com/stuff/selectfields.png
- javascript/jqueryでこれを行うにはどうすればよいですか?
- 両方の選択フィールドの内容をフラスコ アプリケーションに戻すにはどうすればよいですか?
編集:
次のJavaScriptを試しました:
function assign(form)
{
for(i=0;i<form.unassigned.length;i++) {
if (form.unassigned.options[i].selected == true) {
form.assigned.add(form.unassigned.options[i]);
form.unassigned.remove(i);
}
}
//unselect all items
form.assigned.selectedIndex = -1
}
function unassign(form)
{
for(i=0;i<form.assigned.length;i++) {
if (form.assigned.options[i].selected == true) {
form.unassigned.add(form.assigned.options[i]);
form.assigned.remove(i);
}
}
//unselect all items
form.unassigned.selectedIndex = -1
}
しかし、奇妙な結果で:
このスクリプトを使用すると、いずれかの選択フィールドから項目を選択し、適切な割り当て/割り当て解除ボタンを押すと、正しく機能します。
2 つの項目を選択すると、1 つのみが移動されます。
2 つ以上を選択すると、1 つが移動し、1 つがそのまま残り、残りは消えます。
ただし、監視されている現在の選択を出力する alert() 行を追加すると、正しく選択された各項目に対して警告ボックスが生成されます。