您的位置:首页 > Web前端 > JavaScript

Js获取Gridview中模板列控件ID,获取控件生成的HTML中的ID

2009-09-11 12:19 597 查看
在Gridview的RowDataBound事件写如下代码:

if (e.Row.RowState == DataControlRowState.Edit || (e.Row.RowState == (DataControlRowState.Edit || DataControlRowState.Alternate)))
{
//当该列处于编辑状态时单击第四个单元格里的控件时,调用js里的show方法并将控件id传进show方法
((TextBox)(e.Row.Cells[4].Controls[1])).Attributes["onclick "] =

"show( '" + ((TextBox)(e.Row.Cells[4].Controls[1])).ClientID + " ');";
}在html写js方法用来处理传过来的控件idfunction show(id)
{
//alert(id);
//取出来的控件id中的$被转成了下划线(GridView1$ctl04$txt_number)转成
//(GridView1_ctl04_txt_number)
//我们定义一个数组对传进的的控件id进行分割,然后再将字符合并
//如果您定义的控件id中没有下划线(_)可以用正则来替换{id.replace(/_/g,"&")}
//alert(id.replace(/_/g,"&"));
//var id1=new Array();
//id1=id.split("_")
//var controlName=id1[0]+"&"+id1[1]+"&"+"txt_code";
//alert(controlName); alert(id); }Sample:

protected void gridviewProduct_RowDataBound(object sender, GridViewRowEventArgs e) { e.Row.Cells[0].Visible = false; if (e.Row.RowType == DataControlRowType.DataRow) { ((TextBox)(e.Row.Cells[3].FindControl("txt首月"))).Attributes["onchange"] = "show ( '" + ((TextBox)(e.Row.Cells[3].FindControl("txt首月"))).ClientID + " ','" + ((TextBox)(e.Row.Cells[3].FindControl("txt次月"))).ClientID + " ','" + ((TextBox)(e.Row.Cells[3].FindControl("txt末月"))).ClientID + " ');"; } }
页面代码:

function show(id1,id2,id3) { alert(id1+id2+id3); }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐