如题,由于小弟对js 不是很熟,现在用dataGrid显示数据,其中有一个为checkbox(是服务器控件)的模板列,此外还有修改按钮!
现在问题是要求单击“修改”按钮时判断checkbox是否被选中,选中后判断是否为单选(因为一次只能修改一行纪录)
我的服务器代码为: btn_modify.attribute.add("onlick","javascript:checkModify();")
现在要求大侠们帮我写一下这个checkModify();的js代码,要求遍历datagrid中的checkbox,并判断!说明:在Datagrid中既有模板列checkbox,还有其他绑定的数据列!
还有一个问题是在判断后,如何用 js获取选中该行的数据ID号呢?以便传给其他页面便于修改!请高手写的详细点!!!小弟先谢过了!

解决方案 »

  1.   

    private void ImgBtnAdd_Click(object sender, System.Web.UI.ImageClickEventArgs e)
    {
    //检索模块权限
    string model = "";
    foreach(DataGridItem item in this.DataGrid1.Items)
    {
    for(int i=0;i<item.Cells[0].Controls.Count;i++)
    {
    Control control = item.Cells[0].Controls[i];
    if(control.GetType().Name == "CheckBox")
    {
    CheckBox ckb = (CheckBox)control;
    if(ckb.Checked == true)
    {
    model += ckb.Text + ",";
    //写你的代码
    }
    }
    }
    }
    }
      

  2.   

    //javascript 
    function check(){
    var flag = false;
    var col = document.getElementsByTagName("input");//取得input元素集合,返回NodeList集合//alert("col.length = " + col.length);
    var input = null;
    var id = null;
    for(var i=0;i<col.length;i++){
    input = document.getElementsByTagName("input")[i];//循环 input 
    if(input.getAttribute("type") == "checkbox"){
    id = input.getAttribute("id");
    if(id.indexOf("checkbox1") > -1){
    if(input.getAttribute("checked") == true){
    flag = true;
    break;
    }
    }
    }
    }
    if(flag == false)
    {
    if(confirm('还没有选择,确实要提交吗?'))
    return true;
    else
    return false;
    }else{
    return true;
    }/**/
    }
      

  3.   

    提交过去的ID号在Request.Params.Keys集合里面自己去找吧,是有规律的