| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1561 人关注过本帖
标题:请教一个JS函数传递参数的问题
只看楼主 加入收藏
yangliangy
Rank: 1
等 级:新手上路
帖 子:144
专家分:0
注 册:2006-6-25
收藏
 问题点数:0 回复次数:10 
请教一个JS函数传递参数的问题


在ASP中不知道怎样将 onClick="SelectAll(<%=trim(rsd("grade"))%>)"的值传到JS中,下面这行代码是一个全选功能的复选框
<input type="checkbox" name="<%=trim(rsd("grade"))%>" onClick="SelectAll(<%=trim(rsd("grade"))%>)" value="">全选

这个是接收rsd("grade")的JS函数,不知道哪里不对,rsd("grade")的值不会传到JS高手的SelectAll(grade)
中,高手帮看一下
function SelectAll(grade)
{
var a = document.getElementsByName(grade);
if(a[0].checked==true){
for (var i=0; i<a.length; i++)
if (a[i].name == grade) a[i].checked = false;
}
else
{
for (var i=0; i<a.length; i++)
if (a[i].name == grade) a[i].checked = true;
}
}

搜索更多相关主题的帖子: 函数 参数 
2006-12-29 10:07
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 

onClick="SelectAll('<%=trim(rsd("grade"))%>')"
Javascript里字符串用'单引号括起来。

2006-12-29 10:13
yangliangy
Rank: 1
等 级:新手上路
帖 子:144
专家分:0
注 册:2006-6-25
收藏
得分:0 
我用单引号括起来后,复选框怎么点也勾选不上了
如图:

http://www./blog  我的小站
2006-12-29 10:41
yangliangy
Rank: 1
等 级:新手上路
帖 子:144
专家分:0
注 册:2006-6-25
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册


http://www./blog  我的小站
2006-12-29 10:41
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 

function SelectAll(grade)
{
var a = document.getElementByName(grade);
if(a[0].checked==true){
for (var i=0; i<a.length; i++)
if (a[i].name == grade) a[i].checked = false;
}
else
{
for (var i=0; i<a.length; i++)
if (a[i].name == grade) a[i].checked = true;
}
}
红字的改一下试试看呢?

2006-12-29 10:45
yangliangy
Rank: 1
等 级:新手上路
帖 子:144
专家分:0
注 册:2006-6-25
收藏
得分:0 
应该是这样呀,红色那行代表是取复选框的name,改成其它的就达不到所要效果了

http://www./blog  我的小站
2006-12-29 10:49
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 

<input type="checkbox" name="<%=trim(rsd("grade"))%>" id="<%=trim(rsd("grade"))%>" onClick="SelectAll(<%=trim(rsd("grade"))%>)" value="">
function SelectAll(grade)
{
var a = document.getElementById(grade);
if(a[0].checked==true){
for (var i=0; i<a.length; i++)
if (a[i].name == grade) a[i].checked = false;
}
else
{
for (var i=0; i<a.length; i++)
if (a[i].name == grade) a[i].checked = true;
}
}
那这样的改动呢?

2006-12-29 10:52
yangliangy
Rank: 1
等 级:新手上路
帖 子:144
专家分:0
注 册:2006-6-25
收藏
得分:0 
我直接把onClick="SelectAll('<%=trim(rsd("grade"))%>')"改成onClick="SelectAll('管理员')"试了一下,
最上面那个全选怎么点也点不上(如图),下面三个可以点上,但是有个问题很奇怪,点下面三个复选框时上面那个复选框也会勾选上.

http://www./blog  我的小站
2006-12-29 10:55
yangliangy
Rank: 1
等 级:新手上路
帖 子:144
专家分:0
注 册:2006-6-25
收藏
得分:0 
现在已经可以了,但还有点问题
由于全选的那个复选框会提交一个逗号到数据库中,但是我不需要,但我用ASP取值的split取值的分隔符也是逗号.
想弄一个正则,将所有有两个逗号的地方替换成一个,文本前面和后面的逗号去掉,如:
,黄宁,,杨朝阳,,刘新,,aaaa,刘德华,,黄宁前面及,刘德华后面的逗号去掉,中间所有两个逗号替换成一个,一个逗号的地方就保留

[此贴子已经被作者于2006-12-29 15:02:52编辑过]


http://www./blog  我的小站
2006-12-29 15:02
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 

可以用replace函数取掉好像也可以

Dim Str
Str=",黄宁,,杨朝阳,,刘新,,aaaa,刘德华,,"
Str=Replace(Str,",,",",")
Str=Mid(Str,2,len(Str)-1)
Str=Mid(Str,1,len(Str)-1)
楼主可以试试看。

2006-12-29 21:17
快速回复:请教一个JS函数传递参数的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016447 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved