在脚本中我有两个数组。
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: 选中的复选框 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>非常感谢各位大侠。请求帮助!谢谢!
解决方案 »
- 请问Ajax如何实现网页局部载入数据并改变网址,给个例子好吗
- asp.net下拉菜单通过js控制别的控件问题
- 如何让TextArea中的光标固定不动,不相应左右方向键
- 求一带右键的javascript menuTree
- JavaScript的一些小问题!
- 怎么用JS调用本地的AA.EXE文件?
- 子窗口怎么将值传递回父窗口?
- 高手帮我讲解一下js脚本病毒,我这里有一个简单的不能称为病毒的东东(学习)
- 如何设置text框使其无法输入,并且显示的字不是灰色的。是否有什么style或方法可是实现。我用<input type="text" style="ime-mode:disabl
- 求设为首页、收藏、生成桌面快捷方式的代码。在线等。不求是百度出来的。
- 很怪异的问题,window.close失效了,怎么解决
- 如何修改样式
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>
问题已解决!谢谢大家!
我没有用ajax。
因为应用不怎么支持脚本。
非常小心的写一点点。还不知道能不能成功呢。
结贴散分。
谢谢各位的热心。第一开始我也一直想的用for循环来做。
做了很久。
发现总有问题。以后大家回答问题的时候尽量给点详细思路好吗?
一个for 一个foreach这样的实在太笼统了。而且从我一楼的代码看也知道我是用for在做啊。
o(∩_∩)o 哈哈
不管怎样谢谢大家!