Javascript 对gridview中的复选框进行计数
我需要计算gridview中的复选框,但我不知道怎么做。也许我可以使用JavaScript并将计数保存在一个带有样式显示none的文本框中。我如何做到这一点?javascript解决方案:Javascript 对gridview中的复选框进行计数,javascript,asp.net,gridview,checkbox,Javascript,Asp.net,Gridview,Checkbox,我需要计算gridview中的复选框,但我不知道怎么做。也许我可以使用JavaScript并将计数保存在一个带有样式显示none的文本框中。我如何做到这一点?javascript解决方案: Dim cnt as Integer = 0 For i=0 to GridView1.Rows.Count -1 Dim chk as CheckBox = TryCast( GridView1.Row(i).Controls.Find("nameOfCheckBoxControlColum"),Ch
Dim cnt as Integer = 0
For i=0 to GridView1.Rows.Count -1
Dim chk as CheckBox = TryCast( GridView1.Row(i).Controls.Find("nameOfCheckBoxControlColum"),CheckBox)
if chk.Checked=True Then cnt += 1
Next
'Now cnt holds the number of Checked Boxes.
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;
}
}
alert(numChecked);
}
函数CheckBoxCount(){
var gv=document.getElementById(“”);
var inputList=gv.getElementsByTagName(“输入”);
var numChecked=0;
对于(变量i=0;i
标记:
<asp:GridView AllowSorting="true" ID="Gridview1" Width="98%" AutoGenerateColumns="False" runat="server">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="cb_count" runat="server" onclick="CheckBoxCount();"></asp:CheckBox>
</ItemTemplate>
</asp:TemplateField>
...
</Columns>
</asp:GridView>
...
我编写了客户端和服务器端的方法,看看它们,然后选择最适合您的方法
请注意,我使用了客户端逻辑,因为它是在客户端上操作DOM的更现代的方法
来源:
namespace WebApplication1
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
List<Employees> employees = new List<Employees>()
{
new Employees{EmployeeId=1, EmployeeName="Bob", IsMarried=true},
new Employees{EmployeeId=2, EmployeeName="John", IsMarried=true}
};
gvEmployees.DataSource = employees;
gvEmployees.DataBind();
}
}
protected void btnGetMarried_Click(object sender, EventArgs e)
{
int marriedEmployees = 0;
foreach (GridViewRow row in gvEmployees.Rows)
{
var isMarried = (CheckBox)row.FindControl("chkIsMarried");
if(isMarried.Checked)
marriedEmployees++;
}
Response.Write(String.Format("Number of married employees = {0}",marriedEmployees.ToString()));
}
public class Employees
{
public int EmployeeId { get; set; }
public string EmployeeName { get; set; }
public bool IsMarried { get; set; }
}
}
%>
这是获取计数的最简单方法,无需任何麻烦和额外解释!:) 这对你有帮助
function Calculation()
{
var grid = document.getElementById("<%=grdSelectFees.ClientID%>"); //grdSelectFees GridViewId
for (var i = 0; i < grid.rows.length - 1 ; i++)
{
var CheckBox1 = $("input[id*=chkRow]")//chkRow Id of Check box
if (CheckBox1[i].type == "checkbox" && CheckBox1[i].checked)
{
//Code For If check Box Is Checked
}
}
}
函数计算()
{
var grid=document.getElementById(“”;//grdSelectFees GridViewId
对于(var i=0;i
您需要在服务器上还是在客户机上执行此操作?您应该在回答时对每个部分进行解释。
Public Class _Default
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
Dim employees As New List(Of Employees)
Dim employee1 As Employees = New Employees()
employee1.EmployeeId = 1
employee1.EmployeeName = "Bob"
employee1.IsMarried = False
Dim employee2 As Employees = New Employees()
employee2.EmployeeId = 2
employee2.EmployeeName = "John"
employee2.IsMarried = True
employees.Add(employee1)
employees.Add(employee2)
gvEmployees.DataSource = employees
gvEmployees.DataBind()
End If
End Sub
Protected Sub btnGetMarried_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnGetMarried.Click
Dim marriedEmployees As Integer = 0
For Each row As GridViewRow In gvEmployees.Rows
Dim isMarried As CheckBox = row.FindControl("chkIsMarried")
If isMarried.Checked Then
marriedEmployees += 1
End If
Next
Response.Write(String.Format("Number of married employees = {0}", marriedEmployees))
End Sub
End Class
Public Class Employees
Public Property EmployeeId As Integer
Public Property EmployeeName As String
Public Property IsMarried As Boolean
End Class
var count = $('input[name="numbChecked"]:checked').length;
function Calculation()
{
var grid = document.getElementById("<%=grdSelectFees.ClientID%>"); //grdSelectFees GridViewId
for (var i = 0; i < grid.rows.length - 1 ; i++)
{
var CheckBox1 = $("input[id*=chkRow]")//chkRow Id of Check box
if (CheckBox1[i].type == "checkbox" && CheckBox1[i].checked)
{
//Code For If check Box Is Checked
}
}
}