验证数据列表中的复选框 [英] validate checkbox inside a datalist

查看:61
本文介绍了验证数据列表中的复选框的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

亲爱的所有人,

我有一种情况,我正在使用DataList中的复选框.
我要求始终至少选择一个复选框.
我正在尝试使用javascript实现相同功能,但无法正常工作.
有人可以帮我吗?

下面是示例代码:

aspx文件:

Dear All,

I have a scenario where I am using checkboxes inside a DataList.
I have a requirement that atleast one checkbox should be always selected.
I am trying to achieve the same using javascript but it is not working.
Can any body help me?

Below is the sample code:

aspx file :

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="test.aspx.cs" Inherits="ESS.Components.test" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>

<body>
<script type="text/javascript" language="javascript">

    function openWin2(u, k) {
        window.open("../Pages/ELC_OrgLevelWiseSignatoryConfigurationPopUp.aspx" + u + " &Mode=" + k, "composerwindow", "toolbar=no,width=850,height=550,status=no,scrollbars=yes,resize=no,menubar=no");
    }

    function CheckBoxClicked(chk) {
        debugger;
        var dl = document.getElementById("<%=DataList1.ClientID%>"); //Replace DatList1 with your DataList ID
        var inputs = dl.getElementsByTagName("input");
        var checked;

        checked = false;
        for (var i = 0; i < inputs.length; i++) {

            if (inputs[i].type == "checkbox")
            {
                if (inputs[i].id == chk.id)
                {
                    if (inputs[i].checked == true);
                    {
                        checked = true;
                        break;
                    }
                }
            }
        }
//        return true;
        if (checked == false) {
            alert("aaaa");
            return false;
        }
        else {
            return false;
        }
    }

</script>

    <form id="form1" runat="server">
    <div>
        <asp:DataList ID="DataList1" runat="server">
            <ItemTemplate>
                <asp:checkbox ID="Checkbox1" runat="server"

                 Text='<%#Eval("orglvl") %>' AutoPostBack="true" Checked="true"

                oncheckedchanged="Checkbox1_CheckedChanged" onclick = "CheckBoxClicked(this)"></asp:checkbox>
            </ItemTemplate>
        </asp:DataList>
    </div>
    </form>
</body>
</html>




CS文件:




cs file :

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;

namespace ESS.Components
{
    public partial class test : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            filldatalist();
        }

        private void filldatalist()
        { 
            DataTable dt = new DataTable();
            dt.Columns.Add("orglvl", typeof(int));
            DataRow row;
            for(int i=1; i<=10; i++)
            {
                row = dt.NewRow();
                row["orglvl"] = i;
                dt.Rows.Add(row);
            }
            DataList1.DataSource = dt;
            DataList1.DataBind();
        }

        protected void Checkbox1_CheckedChanged(object sender, EventArgs e)
        {
            
        }
    }
}




问候,
Gopal




Regards,
Gopal

推荐答案

检查以下链接:(如果有帮助,请回复)


http://weblogs.asp. net/farazshahkhan/archive/2008/08/02/mutually-exclusive-checkbox-in-gridview-using-javascript.aspx [ http://www.dotnetcurry.com/ShowArticle.aspx?ID=236 [ ^ ]


http://forums.asp.net/t/1376743.aspx [
check these links: (if it is helping please reply)


http://weblogs.asp.net/farazshahkhan/archive/2008/08/02/mutually-exclusive-checkbox-in-gridview-using-javascript.aspx[^]


http://www.dotnetcurry.com/ShowArticle.aspx?ID=236[^]


http://forums.asp.net/t/1376743.aspx[^]


这篇关于验证数据列表中的复选框的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆