我的页面里有多个Datalist,每个Datalist的项都有一个“checkbox”,datalist还有“全选”功能。
要求每个Datalist的“全选”都互不干扰。
我写的是只要点其中一个“全选”,页面上所有的checkbox都被选中。
要求每个Datalist的“全选”都互不干扰。
我写的是只要点其中一个“全选”,页面上所有的checkbox都被选中。
解决方案 »
- asp.net2005设计视图与运行后的效果不一致?非常感谢大家呀!
- 无论是SQL语句,还是HTML的换行,我都试了,都以失败告终
- input type="File"是不是在form ruan="server"里面遍历不到
- 请问vs2008里那里去写创建全文索引的语句啊?
- 请问asp.net生成静态页面是什么过程
- 服务器应用程序错误(事件代码: 3005 )
- 如何去除网页代码中的所有链接(保持文字),包括图片链接文字链接等
- System.Web.UI.MobileControls.SelectionList控件
- 请问怎么样在webForm上添加背景图画(我用了属性中的style项,但是没有效果)
- 为什么我的虚拟主机用ASP.NET就不能上传呢,asp就可以
- 在web程序中,使用WebBrowser抓取一个静态页面,在Application.DoEvents()时候,出现下载对话框,迅雷也弹出下载对话框,为什么呢?
- 在注册用户时,如何将验证码发到输入的手机号上?(用ASP。NET)有示例最好
function setCheckBox(vo) //这里的vo 是传入你的对象id 如datalist1 datalist2
{
var grd = document.getElementById(vo);
var chkArr = grd.getElementsByTagName("input");
for(var i =0; i< chkArr.length; i++) {
if(chkArr[i].type == "checkbox" &&
chkArr[i].id.indexOf("one") > -1) {
chkArr[i].style["display"]="none";
}
if(chkArr[i].id.indexOf("all") > -1) {
chkArr[i].style["display"]="none";
}
}
}
<!--
function allselect(){
var links=document.all.tags("input")
var names=document.getElementById("button").value;
var total=links.length
var values="";
if(names=="全选")
{
document.getElementById("button").value="反选";
for (i=0;i<total;i++){
if(links[i].id=="gbtopic_id")//注gobtopic_id是指checkbox的ID
{
links[i].checked=true;
values=values+","+links[i].value;
} }
}
else
{
document.getElementById("button").value="全选";
for (i=0;i<total;i++){
if(links[i].id=="gbtopic_id")//注gobtopic_id是指checkbox的ID
{
links[i].checked=false;
// values=values+","+links[i].value;
} }
}}
//-->
</script>
这个是取到页面上所有的“input”,很明显和我的要求不一样。
把每个checkbox加上一个属性,随便加什么都行,要与所在的datalist联系起来,目的是为了区分一个datalist里面的一组checkbox与另一个datalist的另一组checkbox。然后你利用这个属性,来判断全选的是哪个datalist里的。
给你一个简单的例子,不全,意思就是上面说的意思。
<input name="id" type="checkbox" id="ckb<%#DataBinder.Eval(Container.DataItem, "StarID")%>" group='<%#DataBinder.Eval(Container.DataItem, "StarName")%>' /><%#DataBinder.Eval(Container.DataItem, "StarName")%>其中group就是我们加的属性。在JS中,这样利用:
function select_cboxes(tbname,bool)
{
var limitCode = IsLimitCode();
var controlIndex;
var element;
var numberofControls;
numberofControls = document.forms[0].length;
for (controlIndex=0; controlIndex<numberofControls; controlIndex++)
{
element = document.forms[0][controlIndex];
var tm = element.getAttribute("group",0); //利用属性
if ((element.type == "checkbox") && ( tm == tbname))
{
element.checked = bool;
}
}
}
你再看看,加个属性,区分开来,就是这么个思路。