如何计算使用javascript在gridview中检查的复选框的数量(在gridview的所有页面上)

时间:2013-01-23 06:20:10

标签: c# javascript asp.net

我处在需要帮助的情况下。

我在javascript中编写了下面的代码,它检查在gridview中检查了多少个复选框并显示消息但是它仅限于我的gridview的一页并且当我移动到下一页时不起作用,是否有任何方式javascript代码检查在gridview的所有页面中检查了多少个复选框?

function CheckBoxCount()
    {
     var gv = document.getElementById("<%= Gridview1.ClientID %>");
     var inputList = gv.getElementsByTagName("input");
     var numChecked = 0;

     for (var i = 0; i < inputList.length; i++)
      {
        if (inputList[i].type == "checkbox" && inputList[i].checked)
         {
          numChecked = numChecked + 1;
          if( numChecked > 8)
          {
           alert('Only Eight items could be added in final grid');
           break;
          }
         }
      }

    }

2 个答案:

答案 0 :(得分:0)

alert($('input[name=checkbox_name]').attr('checked'));
             or
alert($("input:checkbox:checked").length);

如果他们没有工作,请检查:calculate the number of html checkbox checked using jquery

***别忘了在标记中添加Jquery.min.js

答案 1 :(得分:0)

尝试以下代码:

使用Javascript:

function gvCheckBoxClick(currentCheck) {

            var input = document.getElementById("<%=gvRuleList.ClientID %>");
            var chekRowCount = document.getElementById("<%=chkRowCount.ClientID %>").value;

            if (currentCheck.type == "checkbox") {
                if (currentCheck.checked == true) {
                    chekRowCount++;
                }
                else {
                    chekRowCount--;
                }
            }

}

的GridView:

<Columns>
    <asp:TemplateField HeaderText="<%$ Resources:Opm_RuleList_ListHeader_Select %>">
        <ItemTemplate>
            <asp:CheckBox ID="chkSelect" runat="server" onclick="javascript:gvCheckBoxClick(this);"/>
        </ItemTemplate>
    </asp:TemplateField>
</Columns>

使用隐藏变量

<input type="hidden" id="chkRowCount" name="chkRowCount" runat ="server" value="0" />