日期:2014-05-18  浏览次数:20515 次

怎么获得repeater里面checkbox被选中的数目呀
有没有这种类似的方法呀:
int i= repeater.items.checkbox.checked.count()啊 
我希望越简单越好。

------解决方案--------------------
遍历。
还有个办法简单点,点击cheakbox的时候用JS记录总数
然后赋值给一个隐藏文本。
最后直接获取隐藏文本的值就是了

下面一个代码功能是得到所有选中的cheakbox那列的ID,并用,隔开,赋值给hdBCIDS。你完全可以判断这个值split后的长度来得到选中数目。既能得到长度,又能记录选中ID,一举多得啊!
JScript code

unction saveId() 
    {
        var list = document.getElementsByName("cbCheak");
        for (var i = 0; i < list.length; i++) 
        {
            var bcids = document.getElementById("hdBCIDS").value;
            var bcidlist = bcids.split(',');
            if (list[i].checked) 
            {
                var isExtise = false; 
                for (var j = 0; j < bcidlist.length; j++) 
                {
                    if (list[i].value == bcidlist[j]) {
                        isExtise = true;
                        break;
                    }
                }
                if (!isExtise) 
                {
                    bcids += list[i].value + ",";
                }
           }
           else
           {
               var isExtise = false;
               for (var j = 0; j < bcidlist.length; j++) 
               {
                   if (list[i].value == bcidlist[j]) {
                       isExtise = true;
                       break;
                   }
               }
               if (isExtise) 
               {
                    bcids = "";
                    for (var h = 0; h < bcidlist.Length; h++)
                    {
                        if (bcidlist[h] != list[i].value)
                        {
                           bcids+=li[h] 
                        }
                    }
               }
           }
           document.getElementById("hdBCIDS").value = bcids;
       }
    }

------解决方案--------------------
C# code


        for (int i = 0; i < Repeater1.Items.Count; i++)
        {
            CheckBox cxx = (CheckBox)Repeater1.Items[i].FindControl("CheckBoxID");
            if (cxx.Checked)
            {
                Response.Write(i);
            }
        }

------解决方案--------------------
探讨

引用:
C# code


for (int i = 0; i < Repeater1.Items.Count; i++)
{
CheckBox cxx = (CheckBox)Repeater1.Items[i].FindControl("CheckBoxID");
if (cxx.……

------解决方案--------------------
探讨
有没有这种类似的方法呀:
int i= repeater.items.checkbox.checked.count()啊
我希望越简单越好。

------解决方案--------------------
刚才给你发的那个有问题。现在是正确的!


C# code


            string CheckString = "";
            int zz = 0;
            for (int i = 0; i < Repeater1.Items.Count; i++)
            {
                CheckBox cxx = (CheckBox)Repeater1.Items[i].FindControl("CheckBox1");
                if (cxx.Checked)
                {
                    CheckString = (zz = zz + 1).ToString();

                }
 
            }