首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

多重选择执行的有关问题,求思路

2013-11-21 
多重选择执行的问题,求思路我在网页上加了个formform nameformName methodposttd width1% hei

多重选择执行的问题,求思路
我在网页上加了个form


<form name="formName" method="post">
<td width="1%" height="37" align="center" onclick="checkT_F()">
<input type="checkbox" id="all" name="alls" onClick="selectAll()"  title="全选/取消全选" />全选
<input type="checkbox"  id="1" name="checkbox" title="选择/不选择" />历史股价
<input type="checkbox"  id="2" name="checkbox" title="选择/不选择" />资产负债表
<input type="checkbox"  id="3" name="checkbox" title="选择/不选择" />公司利润表
<input type="checkbox"  id="4" name="checkbox" title="选择/不选择" />现金流量表
<input type="checkbox"  id="5" name="checkbox" title="选择/不选择" />基本资料
</td>
</form>



希望选择什么就更新什么,选择全选,就全更新,用什么语句没想出来,求思路,我的代码如下

<script language="JavaScript" type="text/JavaScript">
function selectAll(){
    var obj=document.getElementsByTagName("input");
    if(document.getElementById("all").checked==true){
        for(var i=0;i<obj.length;i++){
            obj[i].checked=true;
        }
    }else{
        for(var i=0;i<obj.length;i++){
            obj[i].checked=false;
        }
    }
}

function checkT_F(){
    var obj=document.getElementsByTagName("input");
    var j=0;
    for(var i=0;i<obj.length;i++){
        if(obj[i].id!='all'){    //如果是复选框
            if(obj[i].checked==true){    //并且为选中
                j++;
            }
        }
    }
    if(j==(obj.length-1)){    //如果复选框选中的数量等于(复选框总和减去全选这个选框的数量)
        document.getElementById("all").checked=true; //全选被激活
    }else{
        document.getElementById("all").checked=false;    //取消全选
    }
}

/* 检查是否有checkbox被选中
* formName 所在form的name值
* checkboxName checkbox的name值
* 注意:所有checkbox的name值都必须一样,这样才能达到全选的效果
*/
function checkAll(formName,checkboxName){
var hasCheck = false;
var form = document.all.item(formName);
var elements = form.elements[checkboxName];
for (var i=0;i<elements.length;i++){
var e = elements[i];
if(e.checked){
hasCheck = true;
}
}
return hasCheck;
}

function selectUpdate(){

if (!checkAll("formName","checkbox")){
alert("请选择需要更新的内容");
} else{
var checkbox = document.getElementsByName("checkbox");
for (var i=0;i<checkbox.length;i++){
if(checkbox[i].checked){
var cvalue=checkbox[i].id;

if(cvalue == 1){
alert("1");
window.location.href="marketHistory.do?method=add&stockId=<%=request.getParameter("stockId") %>&id=<%=request.getParameter("stockDataId") %>";

}else if(cvalue ==2){
alert("2");
window.location.href="balanceSheet.do?method=add&stockId=<%=request.getParameter("stockId") %>&id=<%=request.getParameter("stockDataId") %>";
}else if(cvalue ==3){
alert("3");
window.location.href="profitStatement.do?method=add&stockId=<%=request.getParameter("stockId") %>&id=<%=request.getParameter("stockDataId") %>";
}else if(cvalue ==4){
alert("4");
window.location.href="cashFlow.do?method=add&stockId=<%=request.getParameter("stockId") %>&id=<%=request.getParameter("stockDataId") %>";
}else if(cvalue ==5){
alert("基本资料");
}

}
}
}

}



</script>

上面代码只会更新最后选择的,求帮忙
[解决办法]
你这个设计做不到,你不同类型数据的更新页面都不一样,咋能实现多个不同页面同时跳转?
[解决办法]
你这里代码有问题,你这样判断的一个就跳转了。
要么每判断一个就用ajax去执行更新,
要么就把获取到的var cvalue=checkbox[i].id;拼接成一个url,然后一起请求后台
如:marketHistory.do?ids="1_2_3_5";




 for (var i=0;i<checkbox.length;i++){
                if(checkbox[i].checked){
                    var cvalue=checkbox[i].id;
                 
                    if(cvalue == 1){   
                        alert("1");
                        window.location.href="marketHistory.do?method=add&stockId=<%=request.getParameter("stockId") %>&id=<%=request.getParameter("stockDataId") %>";
                         
                    }else if(cvalue ==2){
                        alert("2");
                        window.location.href="balanceSheet.do?method=add&stockId=<%=request.getParameter("stockId") %>&id=<%=request.getParameter("stockDataId") %>";
                    }else if(cvalue ==3){
                        alert("3");
                        window.location.href="profitStatement.do?method=add&stockId=<%=request.getParameter("stockId") %>&id=<%=request.getParameter("stockDataId") %>";
                    }else if(cvalue ==4){
                        alert("4");
                        window.location.href="cashFlow.do?method=add&stockId=<%=request.getParameter("stockId") %>&id=<%=request.getParameter("stockDataId") %>";
                    }else if(cvalue ==5){
                        alert("基本资料");
                    }
                 
                }
            }
    }

热点排行