set svn:eol-style native public/javascripts/select_list_move.js

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@9099 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Toshi MARUYAMA 2012-03-04 18:36:41 +00:00
parent 5756ef2941
commit 865c2b02e5
1 changed files with 82 additions and 82 deletions

View File

@ -1,82 +1,82 @@
var NS4 = (navigator.appName == "Netscape" && parseInt(navigator.appVersion) < 5); var NS4 = (navigator.appName == "Netscape" && parseInt(navigator.appVersion) < 5);
function addOption(theSel, theText, theValue) function addOption(theSel, theText, theValue)
{ {
var newOpt = new Option(theText, theValue); var newOpt = new Option(theText, theValue);
var selLength = theSel.length; var selLength = theSel.length;
theSel.options[selLength] = newOpt; theSel.options[selLength] = newOpt;
} }
function swapOptions(theSel, index1, index2) function swapOptions(theSel, index1, index2)
{ {
var text, value; var text, value;
text = theSel.options[index1].text; text = theSel.options[index1].text;
value = theSel.options[index1].value; value = theSel.options[index1].value;
theSel.options[index1].text = theSel.options[index2].text; theSel.options[index1].text = theSel.options[index2].text;
theSel.options[index1].value = theSel.options[index2].value; theSel.options[index1].value = theSel.options[index2].value;
theSel.options[index2].text = text; theSel.options[index2].text = text;
theSel.options[index2].value = value; theSel.options[index2].value = value;
} }
function deleteOption(theSel, theIndex) function deleteOption(theSel, theIndex)
{ {
var selLength = theSel.length; var selLength = theSel.length;
if(selLength>0) if(selLength>0)
{ {
theSel.options[theIndex] = null; theSel.options[theIndex] = null;
} }
} }
function moveOptions(theSelFrom, theSelTo) function moveOptions(theSelFrom, theSelTo)
{ {
var selLength = theSelFrom.length; var selLength = theSelFrom.length;
var selectedText = new Array(); var selectedText = new Array();
var selectedValues = new Array(); var selectedValues = new Array();
var selectedCount = 0; var selectedCount = 0;
var i; var i;
for(i=selLength-1; i>=0; i--) for(i=selLength-1; i>=0; i--)
{ {
if(theSelFrom.options[i].selected) if(theSelFrom.options[i].selected)
{ {
selectedText[selectedCount] = theSelFrom.options[i].text; selectedText[selectedCount] = theSelFrom.options[i].text;
selectedValues[selectedCount] = theSelFrom.options[i].value; selectedValues[selectedCount] = theSelFrom.options[i].value;
deleteOption(theSelFrom, i); deleteOption(theSelFrom, i);
selectedCount++; selectedCount++;
} }
} }
for(i=selectedCount-1; i>=0; i--) for(i=selectedCount-1; i>=0; i--)
{ {
addOption(theSelTo, selectedText[i], selectedValues[i]); addOption(theSelTo, selectedText[i], selectedValues[i]);
} }
if(NS4) history.go(0); if(NS4) history.go(0);
} }
function moveOptionUp(theSel) { function moveOptionUp(theSel) {
var index = theSel.selectedIndex; var index = theSel.selectedIndex;
if (index > 0) { if (index > 0) {
swapOptions(theSel, index-1, index); swapOptions(theSel, index-1, index);
theSel.selectedIndex = index-1; theSel.selectedIndex = index-1;
} }
} }
function moveOptionDown(theSel) { function moveOptionDown(theSel) {
var index = theSel.selectedIndex; var index = theSel.selectedIndex;
if (index < theSel.length - 1) { if (index < theSel.length - 1) {
swapOptions(theSel, index, index+1); swapOptions(theSel, index, index+1);
theSel.selectedIndex = index+1; theSel.selectedIndex = index+1;
} }
} }
function selectAllOptions(id) function selectAllOptions(id)
{ {
var select = $(id); var select = $(id);
for (var i=0; i<select.options.length; i++) { for (var i=0; i<select.options.length; i++) {
select.options[i].selected = true; select.options[i].selected = true;
} }
} }