说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

我在datagrid里添加一个checkbox模板列,那我怎么在javascript中怎么样能实现,我选中了一个checkbox,那这个datagrid的一行颜色就改变?

编辑:说三道四文库 发布时间:2018-01-20 05:29
HTML文档下载 WORD文档下载 PDF文档下载
我在datagrid里添加一个checkbox模板列,那我怎么在javascript中怎么样能实现,我选中了一个checkbox,那这个datagrid的一行颜色就改变? 其它的行都还原到原来的颜色,而且其它的checkbox都不选中?
http://xml.sz.luohuedu.net/xml/ShowDetail.asp?id=FF130C7F-3650-4DA6-8943-8AA4AF3E3459
js的实现
<table id=mxh>
<tr><td><input type=checkbox name=b></td><td>a</td></tr>
<tr><td><input type=checkbox name=b></td><td>a</td></tr>
<tr><td><input type=checkbox name=b></td><td>a</td></tr>
<tr><td><input type=checkbox name=b></td><td>a</td></tr>
</table>
<script>
window.document.onclick=aa
function aa()
{
if(event.srcElement.tagName=="INPUT")
{
for(i=0;i<document.all.mxh.rows.length;i++) document.all.mxh.rows[i].bgColor="#FFFFFF"
event.srcElement.parentElement.parentElement.bgColor="#FF8899"
}
}
</script>
我想用javascript实现,
 孟子E章 的方法总是要刷新!
孟子E章

   你的方法(js)不能把原来的选择过的行反回原来的颜色
试试
在ItemDataBind事件里
e.Item.Attributes.Add("onmouseover","this.style.backgroundColor='Silver'");
e.Item.Attributes.Add("onmouseout","this.style.backgroundColor='white'");
 
haoliqi(学习男孩) 

    你的方法就没有被选中的提示效果了!
<tr><td><input type=checkbox name=b0 onclick="c(this.checked)" ></td><td>a</td></tr>
<tr><td><input type=checkbox name=b1 onclick="c(this.checked)" ></td><td>a</td></tr>
<tr><td><input type=checkbox name=b2 onclick="c(this.checked)" ></td><td>a</td></tr>
<tr><td><input type=checkbox name=b3 onclick="c(this.checked)" ></td><td>a</td></tr>
</table>
<script>

function c(flag)
{
if (document.all.b0!=null){
      document.all.b0.checked=true
      document.all.mxh.rows[0].bgColor="#f0f5ff"
       }
       
      if (document.all.b0!=null){
      document.all.b0.checked!=false
      document.all.mxh.rows[0].bgColor="#f6f5ff"

      }
if (document.all.b2!=null){
      document.all.b2.checked=flag
      }
if (document.all.b3!=null){
      document.all.b3.checked=flag
      }
if (document.all.b4!=null){
      document.all.b4.checked=flag
      }

}

</script>
guoyan19811021(吉祥) :

我的DataGrid 是 WebControls ,不能写onclick事件,
而且用document.all.DataGrid1.rows[0].bgColor="#f0f5ff" 不能进行设置颜色!
<table id=mxh>
<tr bgcolor="green"><td><input type=checkbox name=b></td><td>a</td></tr>
<tr bgcolor="green"><td><input type=checkbox name=b></td><td>a</td></tr>
<tr bgcolor="green"><td><input type=checkbox name=b></td><td>a</td></tr>
<tr bgcolor="green"><td><input type=checkbox name=b></td><td>a</td></tr>
</table>
<script>
window.document.onclick=aa
function aa()
{
if(event.srcElement.tagName=="INPUT")
{
for(i=0;i<document.all.mxh.rows.length;i++) document.all.mxh.rows[i].bgColor="green"
event.srcElement.parentElement.parentElement.bgColor="#FF8899"
}
}
</script>
<table id=mxh>
<tr bgcolor="green" oldcolor="green"><td><input type=checkbox name=b></td><td>a</td><td>a</td><td>a</td><td>a</td></tr>
<tr bgcolor="navy" oldcolor="navy"><td><input type=checkbox name=b></td><td>a</td><td>a</td><td>a</td><td>a</td></tr>
<tr bgcolor="orange" oldcolor="orange"><td><input type=checkbox name=b></td><td>a</td><td>a</td><td>a</td><td>a</td></tr>
<tr bgcolor="#ddeedd" oldcolor="#ddeedd"><td><input type=checkbox name=b></td><td>a</td><td>a</td><td>a</td><td>a</td></tr>
</table>
<script>
window.document.onclick=aa
function aa()
{
if(event.srcElement.tagName=="INPUT")
{
for(i=0;i<document.all.mxh.rows.length;i++) document.all.mxh.rows[i].bgColor=document.all.mxh.rows[i].oldcolor
event.srcElement.parentElement.parentElement.bgColor="#FF8899"
}
}
</script>
模板:
-----------------
<asp:TemplateColumn>
  <ItemTemplate>
   <table>
    <tr id="T_ID"> // 这儿的ID应该和CheckBox的ID有些相似,这样好处理
     <td><input type="checkbox" id="C_ID" onclick=f(this)></td>
     <td>你的内容</td>
   。。。。。。。。。
    </tr>
   </table>
  </ItemTemplate>
</asp:TemplateColumn>

function f(obj)
{

   id=obj.id;
   id="T"+id.substring(1);
   tobj=document.all(id);
   if(obj.checked)
     tobj.bgColor="新的颜色";
   else
     tobj.bgColor="原来的颜色";  
   
}
非常感谢各位!
    我的网格代码是这样的,各位继续帮我看看!

<asp:datagrid id="DataGrid1" runat="server" AllowSorting="True" GridLines="Vertical" BackColor="White"
BorderColor="#999999" BorderWidth="1px" CellPadding="3" BorderStyle="None">
<SelectedItemStyle Font-Size="10pt" Font-Bold="True" ForeColor="White" BackColor="#008A8C"></SelectedItemStyle>
<EditItemStyle Font-Size="10pt"></EditItemStyle>
<AlternatingItemStyle Font-Size="10pt" BackColor="Gainsboro"></AlternatingItemStyle>
<ItemStyle Font-Size="10pt" Wrap="False" ForeColor="Black" BackColor="#EEEEEE"></ItemStyle>
<HeaderStyle Font-Size="10pt" Wrap="False" ForeColor="White" BackColor="#000084"></HeaderStyle>
<FooterStyle Font-Size="10pt" ForeColor="Black" BackColor="#CCCCCC"></FooterStyle>
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<asp:CheckBox id="chkSelect" runat="server" OnCheckedChanged="ChkSlt_Changed"></asp:CheckBox>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="Modify"></asp:TemplateColumn>
</Columns>
<PagerStyle Font-Size="10pt" HorizontalAlign="Center" ForeColor="Black" BackColor="#999999" Mode="NumericPages"></PagerStyle>
</asp:datagrid>


其它列都是邦定DataSet动态生成的,CheckBox 是服务器控件 id 名为 "chkSelect",以上各位的我都有试过,主要问题就是先前选择过的不能设置成原来的背景颜色。
你可以用样式来做;样式里加入行为(hta),应该可以解决
火火火火火!看HomeKit如何改变物联网和智能家居? MDCC应用与工具关键词:平台、社交、垂直、解决方案 Leap Motion正式入华 将发布第二代软件SDK 120万操作/秒Redis Cloud 集群单一服务器非基准测试程序 2014微信开发者大会顺利结束 TOP10优秀微信开发商名单公布 上传时如何把文件上传到其他机器? 关于调用 c++ 函数 关于汉字复制后变乱码的问题!50分 求linux下的jbuilder8的注册机,谢谢?如果有人有的话再加分,免得浪费,最高100分 急,求交叉表 学习串并行口通信应把重点放在什么地方??? 诚征有开发安全环保信息系统经验的公司 如何使用QueueUserWorkItem? 怎么释放动态连接库(DLL)传过来的对象? 已知某一元弱酸HB的Ko等于10的负9次方,计算: 将两不相溶的密度分别为p1和p2液体放入如图容器中 一圆柱形容器底面积为2平方分米,里边装有水,在木块 一装水的杯子,放一个漂浮的木块,桶底受到水的压强是 一个盛有水的圆柱形容器的底面积为S,质量为m的均匀 已知乙酸(HA)的酸性比甲酸(HB)弱,在物质的量 已知0.3mol/L NaB溶液的ph为9.5,计 已知乙酸(HA)的酸性比甲酸(HB)弱,在物质的量 例2:已知乙酸(HA)的酸性比甲酸(HB)弱,在物 数据显示我国未成年手机网民已破亿 更八成俄人认为俄腐败程度高 地方权力最印尼一男子酷似奥巴马 形象遭中国企业八成俄人认为俄腐败程度高 地方权力最沙特不收联合国“大礼”我市城市规划协会昨成立前三季度安全生产举报2万件首家影视版权仲裁机构挂牌该放的权力切实放到位不合法的项目一律应明确人民陪审员具体职能神斗网游之睡神传说星月的奇妙旅途大崩灭邪龙仙图徽商博物馆旅游茅盾纪念馆旅游百里峡旅游大观园旅游诸葛八卦村旅游
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘