Copying Selectbox options to another selectbox

S

shankwheat

I have a form named 'choiceForm' and 2 select boxes named 'available'
and 'move'. I give users the ability of copying options (not moving)
from available to move with the code below. I would like to create a
button which copies all options from available to move but not sure how
to do this. Thanks for any help.

function moveOver()
{
var boxLength = document.choiceForm.move.length;
var selectedItem = document.choiceForm.available.selectedIndex;
var selectedText =
document.choiceForm.available.options[selectedItem].text;
var selectedValue =
document.choiceForm.available.options[selectedItem].value;

var i;
var isNew = true;

if (boxLength != 0) {
for (i = 0; i < boxLength; i++) {
thisitem = document.choiceForm.move.options.text;
if (thisitem == selectedText) {
isNew = false;
break;
}
}
}
if (isNew) {
newoption = new Option(selectedText, selectedValue, false, false);
document.choiceForm.move.options[boxLength] = newoption;
}
document.choiceForm.available.selectedIndex=-1;
updateList(document.getElementById('move'),
document.getElementById('newList'));
}
 
A

ASM

shankwheat a écrit :
I have a form named 'choiceForm' and 2 select boxes named 'available'
and 'move'. I give users the ability of copying options (not moving)
from available to move with the code below. I would like to create a
button which copies all options from available to move but not sure how
to do this. Thanks for any help.

<script type="text/javascript">

function selectMove()
{
var from = document.choiceForm.available;
var k = from.selectedIndex
var selectedText = from.options[k].text;
var selectedValue = from.options[k].value;

var to = document.choiceForm.move;

// to do not copy same option several times
var OK = true
for(var i=0; i<to.length; i++)
if(to.value==selectedValue) OK = false;

if(OK)
to[to.length] = new Option(selectedText, selectedValue);
else
alert('option already copied');
}

</script>

<form name="choiceForm">

<select name="available" onchange="selectMove()">
<option value="a">A
<option value="b">B
<option value="c">C
<option value="d">D
<option value="e">E
<option value="f">F
</select>

<select name="move"
onchange="var k=this.selectedIndex;
alert(this[k].value+' '+this[k].text);">
</select>
</form>
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,995
Messages
2,570,230
Members
46,819
Latest member
masterdaster

Latest Threads

Top