struts中列表<select>极难的问题? 2个表,左右个一个表,每次点增加都会提交,然后select从表里读出字段 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 还没有学习structs,不过,你说的这个好象可以用javascript实现移动吧?说错了别怪我。下面是2个select间的类似你说的那种移动的东东,以前写的代码,要我现在分析,估计够戗了。如果有耐心的话,你看看吧,应该有点帮助吧?这里面是一个select,两个list。多余的你不看就可以了。<script language="javascript">N = (document.all) ? 0 : 1;//下拉框与列表框中的数据对应function changes(leng){ myform=document.form1; for(i=0;i<leng;i++){ if(myform.orgsel[i].selected){ myform.theid.value=myform.orgsel[i].value; } } for (i = myform.besel.options.length - 1; i >= 0; i--){ if(N){ myform.besel.options[i].selected = true; }else{ myform.besel.options(i).selected = true; } } for (i = myform.cansel.options.length - 1; i >= 0; i--){ if(N){ myform.cansel.options[i].selected = false; }else{ myform.cansel.options(i).selected = false; } } combininfo(); myform.action="joiner.jsp"; myform.submit();}//关闭窗口并改变父窗口人员选择信息function setback(){ myform=document.form1; for(yy=0;yy<myform.besel.length;yy++){ myform.besel[yy].selected=true; } combininfo(); var aaaa=document.form1.combinname.value; var bbbb=""; if(aaaa.length>0){ bbbb=aaaa.substring(0,aaaa.length-1); } opener.document.form1.joiner.value=bbbb; opener.document.form1.combinid.value=document.form1.combinid.value; opener.document.form1.combinname.value=document.form1.combinname.value; window.close();}//删除function removeReceiver(){ myform = document.form1; for (i = myform.besel.options.length - 1; i >= 0; i--) { if(N){ var selectValue = myform.besel.options[i].selected; }else{ var selectValue = myform.besel.options(i).selected; } if (selectValue == true) { myform.besel.remove(i); } }}//组合人员选择信息function combininfo(){ document.form1.combinid.value=""; document.form1.combinname.value=""; for(m=0;m<myform.besel.options.length;m++){ document.form1.combinid.value=document.form1.combinid.value+myform.besel.options[m].value+","; document.form1.combinname.value=document.form1.combinname.value+myform.besel.options[m].text+","; }}function addSelect(Form){ var left = Form.cansel.length; var agree = true,peragree = true; for( i = 0 ; i < left ;i++ ){ if( Form.cansel[i].selected == true ){ agree = true; for( k = 0 ; k < Form.besel.length ; k++){ if( Form.besel[k].value == Form.cansel[0].value ){ agree = false; break; } } peragree = true; if( i == 0 ){ for( x = 1 ;x < left ;x++ ){ right = Form.cansel[x].value; for( y = 0 ;y < Form.besel.length ;y++ ){ if( right == Form.besel[y].value) peragree = false; } } } if( agree && peragree ){ var find = 0; target = Form.besel.length; for( j = 0 ; j < target ; j++){ if( Form.besel[j].value == document.form1.cansel[i].value ) find = find + 1; } if( find == 0 ){ Form.besel.length = Form.besel.length + 1; Form.besel[target].text = Form.cansel[i].text; Form.besel[target].value = Form.cansel[i].value; } } } }}</script> 对了,想起了一个地方,看看是不是能完成你要的功能,如果是,你把它的代码改了就可以了,我当时就是根据那个改的。http://www.ioffice2000.com.cn/ioffice/logon.jsp进去之后,点我的日程,点下面那个新建,点高级设定,点同时预约他人,然后就是类似你要求的处理画面了。 我考,阿郎给的东东我看到了,多谢,不过也太复杂了,想当初用.net的时候也没那么复杂,而现在用jsp还要来个struts,自己定义了一个标签库,做这点东西可真费劲 呵呵,偶也差不多属于新手类的,而且,不知道struts,但想想认为可能对你有用,就帖出来了。要是有比较简单的方法,偶也学学。:) struts2+hibernate分页 webservice返回html怎么处理? 跪求解关于内存监控程序的思路!! dynamic web module 2.5和2.4有什么区别 netbeans jLabel图片缩放代码 上海BEA User Group第八次活动--报名进行中 我在看一个struts的范例其中的vector和collection是什么样的对象啊??? 关于XML汉字乱码问题? 关于runtime.exec无法执行ubuntu上面的命令 Spring该如何去学? 初学者该学哪一版的Java? 小小问题????请回答?
不过,你说的这个好象可以用javascript实现移动吧?
说错了别怪我。下面是2个select间的类似你说的那种移动的东东,
以前写的代码,要我现在分析,估计够戗了。
如果有耐心的话,你看看吧,应该有点帮助吧?这里面是一个select,两个list。
多余的你不看就可以了。<script language="javascript">
N = (document.all) ? 0 : 1;
//下拉框与列表框中的数据对应
function changes(leng){
myform=document.form1;
for(i=0;i<leng;i++){
if(myform.orgsel[i].selected){
myform.theid.value=myform.orgsel[i].value;
}
}
for (i = myform.besel.options.length - 1; i >= 0; i--){
if(N){
myform.besel.options[i].selected = true;
}else{
myform.besel.options(i).selected = true;
}
}
for (i = myform.cansel.options.length - 1; i >= 0; i--){
if(N){
myform.cansel.options[i].selected = false;
}else{
myform.cansel.options(i).selected = false;
}
}
combininfo();
myform.action="joiner.jsp";
myform.submit();
}//关闭窗口并改变父窗口人员选择信息
function setback(){
myform=document.form1;
for(yy=0;yy<myform.besel.length;yy++){
myform.besel[yy].selected=true;
}
combininfo();
var aaaa=document.form1.combinname.value;
var bbbb="";
if(aaaa.length>0){
bbbb=aaaa.substring(0,aaaa.length-1);
}
opener.document.form1.joiner.value=bbbb;
opener.document.form1.combinid.value=document.form1.combinid.value;
opener.document.form1.combinname.value=document.form1.combinname.value;
window.close();
}//删除
function removeReceiver(){
myform = document.form1;
for (i = myform.besel.options.length - 1; i >= 0; i--) {
if(N){
var selectValue = myform.besel.options[i].selected;
}else{
var selectValue = myform.besel.options(i).selected;
}
if (selectValue == true) {
myform.besel.remove(i);
}
}
}//组合人员选择信息
function combininfo(){
document.form1.combinid.value="";
document.form1.combinname.value="";
for(m=0;m<myform.besel.options.length;m++){
document.form1.combinid.value=document.form1.combinid.value+myform.besel.options[m].value+",";
document.form1.combinname.value=document.form1.combinname.value+myform.besel.options[m].text+",";
}
}function addSelect(Form){
var left = Form.cansel.length;
var agree = true,peragree = true;
for( i = 0 ; i < left ;i++ ){
if( Form.cansel[i].selected == true ){
agree = true;
for( k = 0 ; k < Form.besel.length ; k++){
if( Form.besel[k].value == Form.cansel[0].value ){
agree = false;
break;
}
}
peragree = true;
if( i == 0 ){
for( x = 1 ;x < left ;x++ ){
right = Form.cansel[x].value;
for( y = 0 ;y < Form.besel.length ;y++ ){
if( right == Form.besel[y].value)
peragree = false;
}
}
}
if( agree && peragree ){
var find = 0;
target = Form.besel.length;
for( j = 0 ; j < target ; j++){
if( Form.besel[j].value == document.form1.cansel[i].value )
find = find + 1;
}
if( find == 0 ){
Form.besel.length = Form.besel.length + 1;
Form.besel[target].text = Form.cansel[i].text;
Form.besel[target].value = Form.cansel[i].value;
}
}
}
}
}
</script>