Alcune variazioni sul add...
codice:
<html><head><title>Gestione Select by jure</title>
<script>
formName="f";
select1="s1";
select2="s2";
text1="txt1";
text2="txt2";
function elemAdd(h,text,value) {
tmp=new Option();
tmp.text=text;
tmp.value=value;
document.forms[formName].elements[h].options.add(tmp);
}
function copy(p,q){
if(document.forms[formName].elements[p].options.selectedIndex>-1){
for(i=0;i<document.forms[formName].elements[p].options.length;i++){
if(document.forms[formName].elements[p].options[i].selected){
text=document.forms[formName].elements[p].options[i].text;
value=document.forms[formName].elements[p].options[i].value;
elemAdd(q,text,value);
}
}
}else MsgBox();
}
function del(k){
if(document.forms[formName].elements[k].options.selectedIndex>-1){
for(i=0;i<document.forms[formName].elements[k].options.length;i++){
if(document.forms[formName].elements[k].options[i].selected){
document.forms[formName].elements[k].options[i]=null;
i--;
}
}
}else MsgBox();
}
function move(m,n){
if(document.forms[formName].elements[m].options.selectedIndex>-1){
copy(m,n);
del(m);
unsel(m);
}else MsgBox();
}
function moveupdown_doIt(a,b,i,occupied,q){
if(document.forms[formName].elements[a].options[i].selected&&!occupied){
tmp1=new Option();
tmp2=new Option();
tmp1.text=document.forms[formName].elements[a].options[i+b].text;
tmp1.value=document.forms[formName].elements[a].options[i+b].value;
tmp2.text=document.forms[formName].elements[a].options[i].text;
tmp2.value=document.forms[formName].elements[a].options[i].value;
document.forms[formName].elements[a].options[i]=tmp1;
document.forms[formName].elements[a].options[i+b]=tmp2;
document.forms[formName].elements[a].options[i+b].selected=true;
i+=q;
}
}
function moveupdown(a,b){
lung=document.forms[formName].elements[a].options.length;
if(document.forms[formName].elements[a].options.selectedIndex>-1){
if(b==1){
for(i=lung-1;i>-1;i--){
if(i<lung-1){
if(i+b<lung)occupied=document.forms[formName].elements[a].options[i+b].selected;
else occupied=true;
moveupdown_doIt(a,b,i,occupied,1);
}
}
}else{
for(i=0;i<lung;i++){
if(i>0){
if(i+b>-1)occupied=document.forms[formName].elements[a].options[i+b].selected;
else occupied=true;
moveupdown_doIt(a,b,i,occupied,-1);
}
}
}
}else MsgBox();
}
function sel(h){
for(i=0;i<document.forms[formName].elements[h].options.length;i++){
document.forms[formName].elements[h].options[i].selected=true
}
}
function unsel(h){
document.forms[formName].elements[h].options.selectedIndex=-1
}
function add(k,h){
str=document.forms[formName].elements[k].value;
condition=(str=='')?confirm("Inserire un valore vuoto?"):true;
if(condition){
elemAdd(h,str,str);
}
}
function MsgBox(){
alert("Selezionare almeno un'opzione")
}
</script>
</head><body bgcolor=ffffff topmargin=0 marginheight=0 leftmargin=0 marginwidth=0 rightmargin=0 bottommargin=0>
<form name=f>
<table border=0 cellpadding=0 cellspacing=4><tr><td>
<input type=button value=" + " onclick=moveupdown(select1,-1) style="width:23">
<input type=button value=" -- " onclick=moveupdown(select1,1) style="width:23">
</td><td>
<select multiple name=s1 size="10" style="width:100">
<option value="a">a
<option value="aa">aa
<option value="aaa">aaa
<option value="aaaa">aaaa
<option value="aaaaa">aaaaa
</select></td><td><select multiple name=s2 size="10" style="width:100">
<option value="b">b
<option value="bb">bb
<option value="bbb">bbb
<option value="bbbb">bbbb
<option value="bbbbb">bbbbb
</select></td><td>
<input type=button value=" + " onclick=moveupdown(select2,-1) style="width:23">
<input type=button value=" -- " onclick=moveupdown(select2,1) style="width:23">
</td></tr>
<tr><td colspan=4></td></tr>
<tr><td></td><td>
<input type=text name=txt1 style="width:60"><input type=button value="add^" onclick="add(text1,select1)" style="width:40">
<input type=button value="Sel. Tutto" onclick="sel(select1)" style="width:100">
<input type=button value="Desel. Tutto" onclick="unsel(select1)" style="width:100">
<input type=button value="> Copia >" onclick="copy(select1,select2)" style="width:100">
<input type=button value="> Sposta >" onclick="move(select1,select2)" style="width:100">
<input type=button value="> Elimina" onclick="del(select1)" style="width:100">
</td><td>
<input type=text name=txt2 style="width:60"><input type=button value="add^" onclick="add(text2,select2)" style="width:40">
<input type=button value="Sel. Tutto" onclick="sel(select2)" style="width:100">
<input type=button value="Desel. Tutto" onclick="unsel(select2)" style="width:100">
<input type=button value="< Copia <" onclick="copy(select2,select1)" style="width:100">
<input type=button value="< Sposta <" onclick="move(select2,select1)" style="width:100">
<input type=button value=" Elimina <" onclick="del(select2)" style="width:100">
</td><td></td></tr>
</table>
</form>
</body></html>