select_list_move.js
55 lines
| 1.2 KiB
| application/javascript
|
JavascriptLexer
|
r773 | 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 deleteOption(theSel, theIndex) | ||||
{ | ||||
var selLength = theSel.length; | ||||
if(selLength>0) | ||||
{ | ||||
theSel.options[theIndex] = null; | ||||
} | ||||
} | ||||
function moveOptions(theSelFrom, theSelTo) | ||||
{ | ||||
var selLength = theSelFrom.length; | ||||
var selectedText = new Array(); | ||||
var selectedValues = new Array(); | ||||
var selectedCount = 0; | ||||
var i; | ||||
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++; | ||||
} | ||||
} | ||||
for(i=selectedCount-1; i>=0; i--) | ||||
{ | ||||
addOption(theSelTo, selectedText[i], selectedValues[i]); | ||||
} | ||||
if(NS4) history.go(0); | ||||
} | ||||
function selectAllOptions(id) | ||||
{ | ||||
var select = $(id); | ||||
for (var i=0; i<select.options.length; i++) { | ||||
select.options[i].selected = true; | ||||
} | ||||
} | ||||