zoukankan      html  css  js  c++  java
  • 单选款复选款的选择并操作方法

    运用场景:
    1 当操作多条记录时,可以一次性全部选中或者单选
    2 当对选择的数据进行操作时,尤其是在进行删除操作时,及时提示;
    注意点:

    1 控件的选择位HTML下的控件;
    2 当 控件的属性中存在 Runat=server 时; 才可以在.cs 页面中操作,否则不能操作;
    例题代码 ★★★★★★★★★★★★cs代码★★★★★★★★★★★★
    private MYDataContext _context = new MYDataContext();
    protected void Page_Load(object sender, EventArgs e)
    {
    Fillcar();
    }

    private void Fillcar()
    {
    var mimi = _context.Car;
    Repeater1.DataSource = mimi;
    Repeater1.DataBind();
    }

    protected void Button1_Click(object sender, EventArgs e)
    {
    ████████ 注意此处的传回主键值得方式:██████████
    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
    在发送页面(aspx 页面),设置主键值:
    <input id="ck<%#Eval("Code") %>" type="checkbox" name="ck"★★ value="<%#Eval("Code") %>"★★ onclick="setCheckAll()" /> </td>
    在接受页面: string s = Request["ck"].ToString()
    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

    // 获取主键值
    if (Request["ck"] != null)
    {
    string s = Request["ck"].ToString();//获取选中项的主键值
    string[] keys = s.Split(',');// 将字符串 用分割符分割;
    foreach (string ss in keys)
    {
    // 删除数据
    var mimi = _context.Car.Where(p => p.Code == ss);
    if (mimi.Count() > 0)
    {
    Car data = mimi.First();
    _context.Car.DeleteOnSubmit(data);
    _context.SubmitChanges();
    }
    }

    // 刷新显示(下面两种刷新方式都可以)
    // Fillcar();
    Response.Redirect("Default3.aspx");
    }
    }

    ★★★★★★★★★★★★aspx 页面代码★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
    <script language="javascript">

    //场景: 当选中 全选框时 下面每条记录的选框都处于选中状态, 当全选框 取消选中时 下面的每条记录的选框则都取消选择;
    function check(ckall)
    {
    //找所有的每一项左侧的复选框。
    var cks = document.getElementsByName("ck");
    //遍历每个复选框,把每个复选框的选中状态设置得和chkall一样
    for (var i = 0; i < cks.length; i++) {
    cks[i].checked = ckall.checked;
    }

    }

    //场景: 当 全选框选中时 下面的每条选框都处于选中状态,当下面的任意一条处于不选中状态时 全选框不处于选中状态
    function setCheckAll()
    {

    //1.找到所有的项的复选框。
    var cks = document.getElementsByName("ck");
    //2.遍历每个复选框,记录是否被全选了。
    var selectedall = true;
    for (var i = 0; i < cks.length; i++)
    {
    selectedall = selectedall && cks[i].checked;
    }
    //3.根据是否被全选的状态,确定ckall的选中状态
    var ckall = document.getElementById("Ckall");
    ckall.checked = selectedall;
    }
    // 场景: 当对选中框执行删除操作时, 做出提示,确定的话执行操作,否则不执行操作;
    function delect() {

    // 找到所有框的复选框
    var cks = document.getElementsByName("ck");
    //2.判断是否有选中项
    var selecteditem = false;
    for (var i = 0; i < cks.length; i++) {
    selecteditem = cks[i].checked || selecteditem;
    }
    //3.根据选中项的情况给出不同的对话框提示
    if (selecteditem == false) {
    alert("请选择要删除的项");
    return false;
    }
    else {
    var del = confirm("确认要删除选中的项吗?");
    return del;
    }


    }
    </script>
    </head>
    <body style="height: 200px">
    <form id="form1" runat="server">
    <div>

    <asp:Repeater ID="Repeater1" runat="server">
    <HeaderTemplate>
    <table style="100%">
    <tr>
    <td>
    <input id="Ckall" type="checkbox" onclick="check(this)" name="ckall" /> </td>
    <td>名字</td>
    <td>排量</td>
    <td>油耗</td>
    </tr>
    </HeaderTemplate>

    <ItemTemplate>
    <tr>
    <td>
    // id="ck<%#Eval("Code") %>" 这样可以有效避免ID 重复
    ★★★★★★★★★★ value="<%#Eval("Code") %>" 设置主键值★★★★★★★★★★★★★★★★★★★★★★★★★★★★
    <input id="ck<%#Eval("Code") %>" type="checkbox" name="ck" value="<%#Eval("Code") %>" onclick="setCheckAll()" /> </td>
    <td><%#Eval("Name") %></td>
    <td><%#Eval("Brand") %></td>
    <td><%#Eval("Oil") %></td>
    </tr>

    </ItemTemplate>

    <FooterTemplate></table></FooterTemplate>
    </asp:Repeater>

  • 相关阅读:
    re模块
    collections模块
    hashlib模块
    序列号模块
    random模块
    sys模块
    OS模块
    工厂模式
    Go语言之直接选择排序
    Go语言之直接插入排序
  • 原文地址:https://www.cnblogs.com/woniu-net/p/4735616.html
Copyright © 2011-2022 走看看