【问题标题】:how to count number of checkboxes(across all pages of gridview) checked in gridview using javascript如何计算使用javascript在gridview中检查的复选框数量(跨gridview的所有页面)
【发布时间】:2013-01-06 13:44:45
【问题描述】:

我现在需要你的帮助。

我在 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;
          }
         }
      }

    }

【问题讨论】:

  • 你看不到其他页面的检查状态,因为你没有显示在页面中。 (我的意思是你没有添加到 dom 中)。所以当每一个页面发生变化时,你都需要检查。
  • 是的,我可以在我的代码中实现 jquery,有什么例子吗?我需要一个适用于所有网格视图页面的解决方案。
  • js不能这样,对于其他页面,你因为分页没有勾选,你没有勾选的时候怎么知道勾选了多少?
  • 是的,我明白你所说的是我应该在某处存储1st页面的数量,然后在2nd或后续页面上检查checkbox时,我必须在我的现有计数中添加? span>
  • 是的,你应该在服务器上检查复选框,而不是在 javascript 中

标签: c# javascript asp.net


【解决方案1】:
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

【讨论】:

    【解决方案2】:

    试试下面的代码:

    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--;
                    }
                }
    
    }
    

    网格视图:

    <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" />
    

    【讨论】:

      猜你喜欢
      • 2015-01-08
      • 1970-01-01
      • 2012-04-10
      • 1970-01-01
      • 1970-01-01
      • 2014-02-07
      • 2011-11-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多