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