我在一个页面中加入了两个gridview,ID分别为Gridview1,Gridview2。在Js的函数中想获取Gridview1和Gridview2中列值。应该如何获取?说明:我已经试过了以下两种方式,都无法获取gdview.rows属性,所以无法获取该行对应的列值,
 //var gdview = document.getElementById("<%=GridView2%>");
      //var gdview = document.getElementById("GridView1");GridViewJavaScript

解决方案 »

  1.   


    button1.click(function(){ var $gv=$("#gridview1");
     var value=$gv.find("tr eq(1)").find("td eq(2)").html();
     alert(value);
     //读取第一行 第二列的值 手写的 可能有一些问题,思路就是这样了.
    });
      

  2.   

    我是在vs2008的c#项目中使用的,这个可以使用吗?
      

  3.   

    我采用以下两种方法,gdview或者gdview1返回值均为NUll
    //var gdview = document.getElementById("<%=GridView2%>");
          //var gdview = document.getElementById("GridView1"); 
      

  4.   

    你看一下页面的生成代码,gridview还是一个table,1楼给的方法思路肯定是正确的,根据你的实际情况修改一下
      

  5.   

    拿GridView2来说
    你在浏览器查看页面源代码
    就能看到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 代码输出
      

  6.   

    document.getElementById("<%=GridView1.ClientID%>");JS操作表格
    http://www.blogjava.net/caizh2009/articles/279953.html
      

  7.   

    document.getElementById("<%=GridView1.ClientID%>")中ClientID是固定的吗?
    gridview2确实能够显示数据,绑定数据也能看到,但是就是无法在js中找到rows、value等属性,是否是我写的js有什么没有引用?
      

  8.   


    .net是.net    javascript 是 javascript用.net的对象在javascript 肯定是没有的啊
      

  9.   

    var gdview1 = document.getElementById("GridView2"); 
          alert(gdview1);        //返回值为[object]
    通过上述方式返回值是object,我想应该可以获取到gridview,但是,目前的主要问题是我无法获取rows和value的属性,这样我无法获取行值。怎样才能获取这些属性
      

  10.   

    rows和value属性js也有啊,只是我在使用时发现找不到这些属性,11楼说的我没明白
      

  11.   

    var rows=document.getElementById("GridView2").rows
    var rows= document.getElementById("GridView2").getElementsByTagName("tr")
    都是取GridView2的 rowsvar rows = document.getElementById("GridView2").rows;
    alert(rows[0].cells[0].innerHTML);
    注意 第一行 是表头 
      

  12.   

    我现在只能找到document.getElementById("GridView2"),但是点击属性时,发现没有rows属性,所以很郁闷
      

  13.   

    看页面生成的静态HTML代码,然后再根据JS去获取值。楼主可以沿着这个思路看看。
      

  14.   

    哎  这么简单的一个问题 搞的这么复杂. 我1#的办法的确是可以,而且一直在用..难道 你一点思路都没有吗?  jq选择器 获取正常table里某行某列的值 就是eq就直接搞定了..
    基于你这句话 我感觉你连什么是Jquery都不知道..
      

  15.   

    获取gridview对象
    var gdview = document.getElementById("<%=GridView2.ClientID%>");加上ClientID
    然后再使用rows[0].cells[0].innerText获取值
    alert(rows[0].cells[0].innerText);一下就行了
      

  16.   

     for (var i = 0; i < jsondata.Chinasheng.length; i++) {
                     var sheng = jsondata.Chinasheng[i];
                     //改变页面结构
                     var trstr = "<option value=\"" + sheng.shengBian + "\">" +
                         sheng.shengName + "</option>"
      

  17.   

    关键是找不到Gridview中的rows和value属性使用。
      

  18.   

    哎 一天了 还没解决 你叫我怎么说你.. 给你好的代码 你也不去测试 csdn整体水平下降了?
      

  19.   


    <%@ 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();
        }
    }就这么简单的事情 早告诉你了 你就是不信...哎...