在脚本中我有两个数组。
1: 选中的复选框  checks
2:  已选中的值  args如何遍历我已选中的值在选中的复选框中?当前操作:对我的好友进行分页,每个好友的前面有一个复选框,对选中者发送信息。
如果我在第一页选中某个好友,这时再到第二页选择一个好友,此时第一页的值就会丢失掉。
目前解决方案是把值存到session中了。
可是我一刷新页面就会提交一次,就会向session写入一个已存在的值。
我现在就想判断如果这个值在session中已经存在,那么不做写入操作。
如果在session中不存在,再进行写入操作。
麻烦大家帮我改下这个脚本,循环到底要怎么写才会符合我的需求呢?  function getCheckes(uidCheck,up)
  {
  var checks = document.getElementsByName(uidCheck);//此处得到复选框

var friendIds = '<s:property value="#session.friendIds" default="0"/>';//得到已经存在的会话
var arry=friendIds.split(",");//将其转化成数组
for ( var i = 0; i < checks.length; i++) 
{
if (checks[i].checked)
{
alert('checks[i].checked');
if (friendIds != null && friendIds != '')
{
alert("friendIds != null && friendIds != ''");
for(var k=0;k<arry.length;k++)
{
alert('arry.length='+arry.length);
if(arry[k] ==checks[i].value)//我想要整个循环结束了值还不相等时才做 friendIds += ","; friendIds += checks[i].value;
{
alert('arry[k]='+arry[k]+"  checks[i].value="+checks[i].value);
break;
}

}
 alert("checks.length-1"+checks.length-1);
if(i==(checks.length-1)){
friendIds += ",";
  friendIds += checks[i].value;

}
alert("test");
alert("friendIds="+friendIds);
}else
{
friendIds += checks[i].value;
alert("friendIdsaaaaaaa="+friendIds);
}
}

var url ='queryFriendsshare.htm?code=${code}&curPage=';
if(up=='next'){
url+='${page.curPage+1}&friendIds='+friendIds; 
}
if(up=='up'){
url+='${page.curPage-1}&friendIds='+friendIds
}
    location.href = url;
 }
  
</script>非常感谢各位大侠。请求帮助!谢谢!

解决方案 »

  1.   

    <script language="javascript"  type="text/javascript">
      function getCheckes(uidCheck,up)
      {
      var checks = document.getElementsByName(uidCheck);

    var friendIds = '<s:property value="#session.friendIds" default="0"/>';

    for ( var i = 0; i < checks.length; i++) 
    {
    if (checks[i].checked)
    {
    if (friendIds != null && friendIds != '')
    {
          if(friendIds.indexOf(checks[i].value)==-1) {   //如果不存在将返回-1有时候需要换个思路。哈哈。 
          friendIds += ",";
      friendIds += checks[i].value; 
                    }    
    }
    }

    var url ='queryFriendsshare.htm?code=${code}&curPage=';
    if(up=='next'){
    url+='${page.curPage+1}&friendIds='+friendIds; 
    }
    if(up=='up'){
    url+='${page.curPage-1}&friendIds='+friendIds
    }
        location.href = url;
     }
      
    </script>
    问题已解决!谢谢大家!
      

  2.   

    楼上的真简洁的回答。用foreach也可以哦~
      

  3.   

    不适用Ajax分页做起来真麻烦,楼主是Ajax分页吗?如果是就很简单
      

  4.   

    呵呵!问题已经解决了。二楼是答案。
    我没有用ajax。
    因为应用不怎么支持脚本。
    非常小心的写一点点。还不知道能不能成功呢。
    结贴散分。
    谢谢各位的热心。第一开始我也一直想的用for循环来做。
    做了很久。
    发现总有问题。以后大家回答问题的时候尽量给点详细思路好吗?
    一个for 一个foreach这样的实在太笼统了。而且从我一楼的代码看也知道我是用for在做啊。
    o(∩_∩)o 哈哈 
    不管怎样谢谢大家!