JavaScript 获取服务器端checkBoxlist控件选中的值

通用版本(不依赖任何类库)
function GetCheckBoxListValue(objID)
...{
    var v = new Array();
    var CheckBoxList = document.getElementById(objID);
    if(CheckBoxList.tagName == "TABLE")
    ...{
        for(i=0;i<CheckBoxList.rows.length;i++)    
            for(j=0;j<CheckBoxList.rows[i].cells.length;j++)
  if(CheckBoxList.rows[i].cells[j].childNodes[0])
                    if(CheckBoxList.rows[i].cells[j].childNodes[0].checked==true)
                         v.push(CheckBoxList.rows[i].cells[j].childNodes[1].innerText);
     }
    if(CheckBoxList.tagName == "SPAN")
    ...{
        for(i=0;i<CheckBoxList.childNodes.length;i++)
            if(CheckBoxList.childNodes[i].tagName == "INPUT")
                if(CheckBoxList.childNodes[i].checked==true)
                ...{
                     i++;
                     v.push(CheckBoxList.childNodes[i].innerText);
                 }            
     }
    return v;
}
Asp.net Ajax 版本(依赖 Asp.net Ajax 类库支持)
function GetCheckBoxListValue(objID)
...{
    var v = new Array();
    var CheckBoxList = $get(objID);
    if(CheckBoxList.tagName == "TABLE")
    ...{
        for(i=0;i<CheckBoxList.rows.length;i++)    
            for(j=0;j<CheckBoxList.rows[i].cells.length;j++)
                if(CheckBoxList.rows[i].cells[j].childNodes[0])
                    if(CheckBoxList.rows[i].cells[j].childNodes[0].checked==true)
                          Array.add(v,CheckBoxList.rows[i].cells[j].childNodes[1].innerText);
     }
    if(CheckBoxList.tagName == "SPAN")
    ...{
        for(i=0;i<CheckBoxList.childNodes.length;i++)
            if(CheckBoxList.childNodes[i].tagName == "INPUT")
                if(CheckBoxList.childNodes[i].checked==true)
                ...{
                     i++;
                     Array.add(v,CheckBoxList.childNodes[i].innerText);
                 }            
     }
    return v;
}

三、

CheckboxList是服务器控件,绑定数据容易,用着貌似蛮顺手的。但是生成的静态页面居然没有ListItem的Value值,所以默认情况下在页面中是取不到ListItem的值的。
原始生成页面代码:
<table id="ctl00_mainContent_FriendsList" border="0">
<tr>
   <td><input id="ctl00_mainContent_FriendsList_0" type="checkbox" name="ctl00$mainContent$FriendsList$0" /><label for="ctl00_mainContent_FriendsList_0">jarome</label></td><td><input id="ctl00_mainContent_FriendsList_1" type="checkbox" name="ctl00$mainContent$FriendsList$1" /><label for="ctl00_mainContent_FriendsList_1">admin1</label></td><td></td>
</tr>
</table>
这里面只有Label里面的Text值,显然取不到Value值。
想点办法,自己加个值进来,在数据绑定之后加上下面代码:
      foreach (ListItem li in FriendsList.Items)
            {
                li.Attributes.Add("alt", li.Value);
            }
就是给ListItem加个alt属性,赋予Value值,相当于:

<asp:CheckBoxList ID="FriendsList" runat="server">
            <asp:ListItem Value="jarome" alt="jarome">jarome</asp:ListItem>
            <asp:ListItem Value="admin" alt="admin">admin1</asp:ListItem>
</asp:CheckBoxList>

页面生成代码:

<table id="ctl00_mainContent_FriendsList" border="0">
<tr>
   <td><span alt="jarome"><input id="ctl00_mainContent_FriendsList_0" type="checkbox" name="ctl00$mainContent$FriendsList$0" /><label for="ctl00_mainContent_FriendsList_0">jarome</label></span></td><td><span alt="admin"><input id="ctl00_mainContent_FriendsList_1" type="checkbox" name="ctl00$mainContent$FriendsList$1" /><label for="ctl00_mainContent_FriendsList_1">admin1</label></span></td><td></td>
</tr>
</table>

看到多了个<span/>,alt中就是我们想要取得的值。

//获取CheckBoxList值,使用jQuery类库
function GetCheckBoxListValue(obj) { //obj为CheckBoxList的ClientID
     var v = new Array();
     $("#" + obj+ " input").each(function() {
         if (this.checked) {
             v.push($(this).parent().attr("alt"));
         }
     });
     return v; //返回一列以','分隔的结果
}

转载于:https://www.cnblogs.com/myneng/articles/1691311.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
校园失物招领系统管理系统按照操作主体分为管理员和用户。管理员的功能包括字典管理、论坛管理、公告信息管理、失物招领管理、失物认领管理、寻物启示管理、寻物认领管理、用户管理、管理员管理。用户的功能等。该系统采用了Mysql数据库,Java语言,Spring Boot框架等技术进行编程实现。 校园失物招领系统管理系统可以提高校园失物招领系统信息管理问题的解决效率,优化校园失物招领系统信息处理流程,保证校园失物招领系统信息数据的安全,它是一个非常可靠,非常安全的应用程序。 ,管理员权限操作的功能包括管理公告,管理校园失物招领系统信息,包括失物招领管理,培训管理,寻物启事管理,薪资管理等,可以管理公告。 失物招领管理界面,管理员在失物招领管理界面中可以对界面中显示,可以对失物招领信息的失物招领状态进行查看,可以添加新的失物招领信息等。寻物启事管理界面,管理员在寻物启事管理界面中查看寻物启事种类信息,寻物启事描述信息,新增寻物启事信息等。公告管理界面,管理员在公告管理界面中新增公告,可以删除公告。公告类型管理界面,管理员在公告类型管理界面查看公告的工作状态,可以对公告的数据进行导出,可以添加新公告的信息,可以编辑公告信息,删除公告信息。
### 回答1: CheckboxList件是ASP.NET Web Forms中的一个件,用于显示一组复选框,用户可以选择其中的一个或多个选项。 使用CheckboxList件的步骤如下: 1. 在ASP.NET Web Forms页面中添加CheckboxList件。 2. 在代码中设置CheckboxList件的属性,例如DataSource、DataTextField、DataValueField等。 3. 绑定数据到CheckboxList件中,可以使用数据绑定件或手动绑定数据。 4. 在页面中处理CheckboxList件的选择事件,例如在提交表单时获取选中。 例如,以下是一个简单的CheckboxList件的示例: ``` <asp:CheckBoxList ID="CheckBoxList1" runat="server" DataSourceID="SqlDataSource1" DataTextField="Name" DataValueField="ID"></asp:CheckBoxList> <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:MyConnectionString %>" SelectCommand="SELECT [ID], [Name] FROM [MyTable]"></asp:SqlDataSource> ``` 在代码中,可以使用以下代码获取选中: ``` foreach (ListItem item in CheckBoxList1.Items) { if (item.Selected) { string value = item.Value; // 处理选中 } } ``` ### 回答2: CheckboxList件在ASP.NET中用于创建多选选项列表,可以在其中选择一个或多个选项。它包含由多个Checkbox组成的集合,显示为单个件。 CheckboxList的用法很简单,只要掌握以下几个步骤: 1. 在Web表单中添加CheckboxList件 可以通过Visual Studio工具箱中的件菜单或手动编写代码来添加一个CheckboxList件。例如,在ASP.NET的Web表单中,可以使用以下代码片段添加件: ``` <asp:CheckBoxList ID="CheckboxList1" runat="server"> <asp:ListItem Text="Apple" Value="0" /> <asp:ListItem Text="Banana" Value="1" /> <asp:ListItem Text="Orange" Value="2" /> </asp:CheckBoxList> ``` 2. 数据绑定 可以通过数据绑定来动态添加选项,数据源可以是数据集,数据表或数据视图等。例如,可以通过以下代码绑定列表: ``` string[] items = {"Red", "Green", "Blue"}; CheckboxList1.DataSource = items; CheckboxList1.DataBind(); ``` 3. 选择项 可以通过在选项列表中选中一个或多个选项来选择项。可以使用以下代码访问选定项: ``` foreach(ListItem item in CheckboxList1.Items) { if (item.Selected) { //选中的项 } } ``` CheckboxList还有很多其他属性和方法,如制显示方式,样式,选择项的默认等,都可以满足各种复杂的需求。总的来说,CheckboxList件是一个非常有用的件,在多选需求的场景下可以大大提高效率。 ### 回答3: CheckboxList 件是 ASP.NET 中常见的选择件,它用于允许用户从多个选项中选择一个或多个。CheckboxList 件可以方便地用于显示列表和多项选择的输入,因此它被广泛应用于各种 ASP.NET 应用程序中。 使用 CheckboxList 件的步骤如下所示: 第一步:添加 CheckboxList 件 在 ASP.NET Web Forms 应用程序中,可以在 Web 表单中添加 CheckboxList 件。可以通过代码或源代码视图添加 CheckboxList 件。如下所示是在源代码视图中添加 CheckboxList 件的示例: ``` html <asp:CheckBoxList ID="cbList" runat="server"> <asp:ListItem Text="ASP.NET" Value="1"></asp:ListItem> <asp:ListItem Text="C#" Value="2"></asp:ListItem> <asp:ListItem Text="VB.NET" Value="3"></asp:ListItem> </asp:CheckBoxList> ``` 以上代码创建了一个 CheckboxList 件,并在其中添加了三个 ListItem。 第二步:设置 CheckboxList 件属性 在 ASP.NET 应用程序中,CheckboxList 件可以设置多种属性,以制其行为和外观。下面列举了常用的属性: - ID:件的名称,用于标识该件。 - RepeatDirection:指定件中项的布局方向(水平或垂直)。 - DataSource:指定 CheckboxList 件数据源的名称,其可以是一个列表或数据表。 - DataTextField:指定数据源中用作 CheckboxList 件文本的字段名称。 - DataValueField:指定数据源中用作 CheckboxList 的字段名称。 通过设置以上属性,我们可以方便地定制 CheckboxList 件的外观和样式。 第三步:获取 CheckboxList 选中 CheckboxList 件在用户选择其中的某些选项时,需要处理其选中状态。通常,开发人员可以在提交表单时,通过使用服务器代码从 CheckboxList 件中获取选中状态。 下面是获取 CheckboxList 件中选中项的示例代码: ``` csharp foreach (ListItem item in cbList.Items) { if (item.Selected) { string value = item.Value; // 处理选中项的逻辑 } } ``` 此代码示例中,首先使用 foreach 循环遍历所有 CheckboxList 件中的项。通过检查 Selected 属性,判断当前项是否被选中。如果是,则可以获取,并执行相应的逻辑。 总结: 在 ASP.NET 应用程序中,使用 CheckboxList 件提供了一种方便的方式,以允许用户从多个选项中进行选择。CheckboxList 件可以方便地与其他 ASP.NET 件配合使用,以创建功能强大且具有交互性的 Web 应用程序。开发人员只需要了解如何添加 CheckboxList 件、设置其属性和获取选中的项即可。如此简单,快速开发的应用程序,让用户体验更加优越。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值