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>

Rispondi quotando