在asp.net中checkbox代码为
<ItemTemplate>
<INPUT id="answer"  type="checkbox" value='<%# DataBinder.Eval(Container.DataItem,"ID") %>'>
</ItemTemplate>
以下是在asp中判断checkbox是否选中的js代码。
我想在asp.net中用,改了几次都不行。小弟是初学者,哪位可以提示下,或有类似代码可以参考?<script>
 function del()  
                                                 
   {
 var flag=true;
   var temp="";
   var  tmp;
 if((document.form1.answer.length+"")=="undefined") 
      {tmp=1}else{tmp=document.form1.answer.length}
     if (tmp==1){
     if (document.form1.answer.checked)
 {
     flag=false;
     temp=document.form1.answer.value
   }
 }else{
 for (i=0;i<document.form1.answer.length;i++) {
   if (document.form1.answer[i].checked){
 if (temp=="")
     {
 flag=false;
   temp=document.form1.answer[i].value
   }else{
 flag=false;
   temp = temp +","+ document.form1.answer[i].value
   }
 }
 }
 } 
   if (flag)
   { 
  alert("对不起,你还没有选择!")
  }
 else
 {   
           if (confirm("确实要删除?"))
           {
           window.location="client_del.asp?id="+temp;
             
   }
 }
 return !flag;
 }
 </script>

解决方案 »

  1.   

    http://singlepine.cnblogs.com/articles/266538.html
      

  2.   

    为什么是在asp中判断是否选中了呢??
    下面的不可以吗?
    function del(){
    var chk = document.getElementById('answer');
    if(chk.checked){
    if(confirm('Are U Sure To Delete It?')){
    alert('Delete ' + chk.value);
    }
    }
    }
      

  3.   

    JavaScript实现DataGrid中添加CheckBox列(全选与否):
    http://blog.csdn.net/chengking/archive/2005/10/08/497520.aspx
      

  4.   

    页面中用
    <ItemTemplate>
    <INPUT id=Radio1 type=radio value='<%# databinder.eval(container.dataitem,"ID") %>' name=answer>
    </ItemTemplate>程序中用
    Dim adurl As String = Request.Form("answer")调用radio的value。
    注意:1、用html控件不用服务器端控件,2、调用时用的是name(answer)而不是id(radio1)。
      

  5.   

    function del(){
      var key = "";
      var elems = Form1.elements;
      for(var i = 0; i < elems.length; i++){
        var e = elems[i];
        if(e.type == 'checkbox' && e.id == 'answer'){
          if(e.checked){
            key += "," + e.value;
          }
        }
      }
      key = key.substring(1);
      if(key == ""){
        alert("请勾选要删除的记录!");
      }
      else{
        if(!confirm("是否真的要删除这些记录!")) 
        return;
        window.location="client_del.asp?id="+ key;
      }
    }
      

  6.   

    1.我觉得楼主可以使用服务器端的checkbox控件
    2.判断是否选中
    http://blog.csdn.net/sunnystar365/archive/2005/09/28/491139.aspx
    以上的例子上是全部选择和取消的,稍微修改一下即可。CS文件里有一段是在服务器端判断是否选中,然后删除选中的。
    try
       {
        string SelectedString = "";//定义一个变量
        foreach(DataGridItem data in dbOrders.Items)
        {
         for(int i=0;i<data.Cells[0].Controls.Count;i++)//循环DataGrid的第一个单元格
         {
          if(data.Cells[0].Controls[i].GetType().ToString()=="System.Web.UI.WebControls.CheckBox")//判断类型是否为CheckBox
          {
           if(((CheckBox)data.Cells[0].Controls[i]).Checked==true)//如果CheckBox被选中
           {
            SelectedString += dbOrders.DataKeys[data.ItemIndex].ToString() + ",";
            //因为设置了DataGrid的DataKeyField属性(编号),所以可以根据Datakeys得到选中CheckBox的那行所对应的那条记录的编号
            //以逗号分隔,加入同一个字符串中
           }
          }
         }
        }
        if(SelectedString!="")
        {
         bool result=true;
         SelectedString = SelectedString.Substring(0,SelectedString.Length-1);//截取最后一个逗号
         string[] Arr = SelectedString.Split(',');//分割字符串,放入数组中
         for(int i=0;i<Arr.Length;i++)//循环数组
         {
          if(Arr[i].Trim()!="")//如果值不为空
          {
           //result=CDG.DeleteOrder(Int32.Parse(arrselected[i]));//删除一条记录
           //这里的DeleteUser是我写的数据层的方法,返回的是bool,如果删除成功,返回true;
           //此处的删除方法可以根据自己的需求写,所以这里就不写了
          }
         }
         if(result)
         {
          Response.Write("<script>alert('用户删除成功')</script>");
        
         }