日期:2014-05-19  浏览次数:20564 次

关于一个javascript的问题,急,大家来看看
在一个GridView中,有一由html的Radio控件组成的删除列,当该列没有被选中的时候弹出“没有选择删除对象”,当有被选中的Radio时,弹出“删除选择的对象?”。下列脚本实现了该功能。
function   IsDelete()
{
      var   GridView1=document.getElementById( " <%=GridView1.ClientID   %> ");
      var   flag=false;
                     
      for(i   =   1;i   <   GridView1.rows.length;   i++)
      {
              if(GridView1.rows[i].cells[8].getElementsByTagName( "INPUT ")[0].checked)
              {
                      flag=true;
                      break;
              }
      }
      if(!flag)
      {
              alert( "没有选择删除对象 ");
              return   false;
      }        
      else
      {
              return   confirm( "删除选择的对象? ")
      }
}
但关键是,该GridView允许浏览已经删除的对象。显示删除对象的时候,删除列的Radio要不可见或者没有。代码如下:
for   (int   i   =   0;   i   <   GridView1.Rows.Count;   i++)
{
        if   (GridView1.Rows[i].Cells[5].Text   ==   "Delete ")
        {
                  GridView1.Rows[i].Cells[8].Controls[0].Visible   =   false;
        }
        else
                  GridView1.Rows[i].Cells[5].Text   =   " ";
}
添加以上代码隐藏部分radio后先前的JavaScript就无效了。
请教大家如何修改javascript才能使它像以前一样完成功能。急

------解决方案--------------------
Visible=false这样控件就不会生成,改成
GridView1.Rows[i].Cells[8].Controls[0].Attribute.Add( "style ", "display:none ");
------解决方案--------------------
CheckBox cb =(CheckBox)GridView1.Rows[i].Cells[8].Controls[0];
cb.Attribute.Add...
类似这样吧