js获取鼠标点击GridView中某一列的值
比如在GridView中有一个A标签<a>点击我</a>,当我要点击“点击我”的时候,获取所点击的这一行的某个值,随便点那一行,都能获得其中某一列的值,该怎样实现??网上...
比如在GridView中有一个A标签<a>点击我</a>,当我要点击“点击我”的时候,获取所点击的这一行的某个值,随便点那一行,都能获得其中某一列的值,该怎样实现??
网上给出的方法是这样的,可是还不行,有哪位大神可以给出具体代码呢??
var e = arguments[0] || window.event
//获取元素所在的行的行号(表头行号从0开始)
// 注意: parentElement 只适用于IE浏览器,而parentNode则符合DOM标准。
//var rowIndex=e.parentElement.parentElement.rowIndex
var rowIndex = e.parentNode.parentNode.rowIndex;
var gdview = document.getElementById("<%=GridView1.ClientID%>")
var value1= gdview.rows[rowIndex].cells[1].innerText;//获取所点击行的ID
alert(value1); 展开
网上给出的方法是这样的,可是还不行,有哪位大神可以给出具体代码呢??
var e = arguments[0] || window.event
//获取元素所在的行的行号(表头行号从0开始)
// 注意: parentElement 只适用于IE浏览器,而parentNode则符合DOM标准。
//var rowIndex=e.parentElement.parentElement.rowIndex
var rowIndex = e.parentNode.parentNode.rowIndex;
var gdview = document.getElementById("<%=GridView1.ClientID%>")
var value1= gdview.rows[rowIndex].cells[1].innerText;//获取所点击行的ID
alert(value1); 展开
1个回答
展开全部
我用的是asp.net,GridView实现它的RowDataBound事件,具体看代码,希望可以帮到你:
前台:
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<!--点击GridView任意行的位置,获取该行的ID值-->
<script type="text/javascript">
function getId(row_index) {
var grid_view = document.getElementById('<%=GridView1.ClientID %>');
var rows = grid_view.rows;
var personID = rows[row_index].cells[0].innerHTML;
alert("获取的ID为:" + personID);
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" OnRowDataBound="GridView1_RowDataBound">
<Columns>
<asp:BoundField HeaderText="ID" DataField="ID" HeaderStyle-Width="300px" ItemStyle-HorizontalAlign="Center"
HeaderStyle-BackColor="LightSkyBlue" />
<asp:BoundField HeaderText="Name" DataField="Name" HeaderStyle-Width="300px" ItemStyle-HorizontalAlign="Center"
HeaderStyle-BackColor="LightSkyBlue" />
<asp:BoundField HeaderText="Tel" DataField="Tel" HeaderStyle-Width="300px" ItemStyle-HorizontalAlign="Center"
HeaderStyle-BackColor="LightSkyBlue" />
</Columns>
</asp:GridView>
</div>
</form>
</body>
</html>
后台代码:
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
List<Person> list = new List<Person>();
list.Add(new Person("001", "张三"));
list.Add(new Person("002", "李四"));
list.Add(new Person("003", "王五"));
list.Add(new Person("004", "赵六"));
list.Add(new Person("005", "何七"));
GridView1.DataSource = list;
GridView1.DataBind();
}
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
int row_index = e.Row.RowIndex + 1;
e.Row.Attributes.Add("onclick", "getId(" + row_index + ");");
}
}
}
class Person
{
public Person(string id, string name)
{
ID = id;
Name = name;
}
private string id;
public string ID
{
get { return id; }
set { id = value; }
}
private string name;
public string Name
{
get { return name; }
set { name = value; }
}
private string tel;
public string Tel
{
get { return tel; }
set { tel = value; }
}
}
追问
不过你这种方法倒是值得一试试,谢谢了!!
追答
不客气,IE、火狐、Google Chrome、360都是可以用的
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询