By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
459,377 Members | 1,728 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 459,377 IT Pros & Developers. It's quick & easy.

Copying Selectbox options to another selectbox

P: n/a
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[i].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'));
}

Nov 29 '06 #1
Share this Question
Share on Google+
2 Replies


P: n/a
Please disregard this question. I worked it out. Thanks.
shankwheat wrote:
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[i].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'));
}
Nov 29 '06 #2

P: n/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[i].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>


--
Stephane Moriaux et son moins vieux Mac déjà dépassé
Stephane Moriaux and his less old Mac already out of date
Nov 29 '06 #3

This discussion thread is closed

Replies have been disabled for this discussion.