我在一个页面中加入了两个gridview,ID分别为Gridview1,Gridview2。在Js的函数中想获取Gridview1和Gridview2中列值。应该如何获取?说明:我已经试过了以下两种方式,都无法获取gdview.rows属性,所以无法获取该行对应的列值,
//var gdview = document.getElementById("<%=GridView2%>");
//var gdview = document.getElementById("GridView1");GridViewJavaScript
//var gdview = document.getElementById("<%=GridView2%>");
//var gdview = document.getElementById("GridView1");GridViewJavaScript
button1.click(function(){ var $gv=$("#gridview1");
var value=$gv.find("tr eq(1)").find("td eq(2)").html();
alert(value);
//读取第一行 第二列的值 手写的 可能有一些问题,思路就是这样了.
});
//var gdview = document.getElementById("<%=GridView2%>");
//var gdview = document.getElementById("GridView1");
你在浏览器查看页面源代码
就能看到GridView2生成的代码是什么
<table cellspacing="0" rules="all" border="1" id="GridView2" style="border-collapse:collapse;">
<tr>
<th scope="col">手机型号</th><th scope="col">UpgradeID</th><th scope="col">DbVersion</th><th scope="col">User</th><th scope="col">DateTime</th>
</tr><tr>
<td>NT AUTHORITY\NETWORK SERVICE</td><td>27</td><td>147</td><td>NT AUTHORITY\NETWORK SERVICE</td><td>2013/3/18 17:27:14</td>
</tr><tr>
<td>NT AUTHORITY\NETWORK SERVICE</td><td>26</td><td>146</td><td>NT AUTHORITY\NETWORK SERVICE</td><td>2013/3/18 17:27:14</td>
</tr><tr>
你要获取GridView2的所有row :var rows= document.getElementById("GridView2").getElementsByTagName("tr");
通过rows[i]去访问row对象js操作的是html 的dom ,.net也是最终将它的控件生成html 代码输出
http://www.blogjava.net/caizh2009/articles/279953.html
gridview2确实能够显示数据,绑定数据也能看到,但是就是无法在js中找到rows、value等属性,是否是我写的js有什么没有引用?
.net是.net javascript 是 javascript用.net的对象在javascript 肯定是没有的啊
alert(gdview1); //返回值为[object]
通过上述方式返回值是object,我想应该可以获取到gridview,但是,目前的主要问题是我无法获取rows和value的属性,这样我无法获取行值。怎样才能获取这些属性
var rows= document.getElementById("GridView2").getElementsByTagName("tr")
都是取GridView2的 rowsvar rows = document.getElementById("GridView2").rows;
alert(rows[0].cells[0].innerHTML);
注意 第一行 是表头
基于你这句话 我感觉你连什么是Jquery都不知道..
var gdview = document.getElementById("<%=GridView2.ClientID%>");加上ClientID,
然后再使用rows[0].cells[0].innerText获取值
alert(rows[0].cells[0].innerText);一下就行了
var sheng = jsondata.Chinasheng[i];
//改变页面结构
var trstr = "<option value=\"" + sheng.shengBian + "\">" +
sheng.shengName + "</option>"
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>无标题页</title>
<script src="jquery-1.7.1.min.js" type="text/javascript"></script>
<script language="javascript" type="text/javascript" >
function getData()
{
var $gv=$("#GridView1");
var val=$gv.find("tr:eq("+$("#Text1").val()+")").find("td:eq("+$("#Text2").val()+")").html();
alert(val);
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
获取第<input id="Text1" type="text" />行
第<input id="Text2" type="text" />列的数据
<input id="Button1" type="button" value="button" onclick="getData()" />
<asp:GridView ID="GridView1" runat="server" Width="100%" AutoGenerateColumns="true">
</asp:GridView>
</div>
</form>
</body>
</html>using System;
using System.Data;public partial class _Default : System.Web.UI.Page
{
DataTable dt
{
get
{
DataTable d = new DataTable();
d.Columns.Add("a", typeof(string));
d.Columns.Add("b", typeof(string));
d.Columns.Add("c", typeof(string));
for (int i = 0; i < 10; i++)
{
d.Rows.Add(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString());
}
return d;
}
}
protected void Page_Load(object sender, EventArgs e)
{
GridView1.DataSource = dt;
GridView1.DataBind();
}
}就这么简单的事情 早告诉你了 你就是不信...哎...