在JS中怎么取得DataGrid模板列中的TextBox的值,并给它赋值

解决方案 »

  1.   

    根据行号求出控件id,然后求出由控件id获得控件id,在对该控件的value赋值。
    如果还是不懂,和我联系。你的问题是我最近的一个课题,已经解决了。
      

  2.   

    var table=document.getElementById('datagrid');
    for(vari =1;table.rows.length;i++)
    {
       var rowobj=table.rows(i);
       var textbox=rowobj.getElementsByName('input');
       for(var j=0;j<textbox.length;j++)
       {
           if(textbox[i].type=="text")
           {
               //得到所有的textbox
               //你自己处理的代码
           }
       }
    }
      

  3.   


    <!--这是我上次回复一个朋友的代码,用的是gridview,取gv里模板里的textbox,跟你datagrid应该没有什么区别-->
    <!--主要是看js怎么取到里面的textbox了-->
    %@ Page Language="C#" AutoEventWireup="true" CodeFile="rdlc.aspx.cs" Inherits="rdlc" %><!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>
    </head>
    <body onkeydown="return false;">
        <form id="form1" runat="server">
        <div>
            <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
                <Columns>
                    <asp:TemplateField HeaderText="产品名称">
                        <ItemTemplate>
                            <asp:TextBox ID="txtEnter" runat="server" Text='<%#Eval("GoodsName") %>' onkeydown="enterNext(this)"></asp:TextBox>
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="产品编号">
                        <ItemTemplate>
                            <%#Eval("GoodsCode") %>
                            <asp:Button ID="Button2" runat="server" Text="button不影响啊" />
                        </ItemTemplate>
                    </asp:TemplateField>
                </Columns>
            </asp:GridView>
        
        </div>
        </form>
    </body>
    </html>
    <script type="text/javascript">
    //主要看js部分吧!
    //自己改下就可以了
    function $(id, parent)
    {
        parent = (parent ? (parent.document ? parent.document : parent) : document);
        return parent.getElementById(id);
    }
    function $T(tag, parent)
    {
        parent = (parent ? (parent.document ? parent.document : parent) : document);
        return parent.getElementsByTagName(tag);
    }
    function right(mainStr,lngLen) 
    {
        if (mainStr.length-lngLen>=0 && mainStr.length>=0 && mainStr.length-lngLen<=mainStr.length) 
        { return mainStr.substring(mainStr.length-lngLen,mainStr.length); }
        else{ return null; }
    }
    function enterNext(obj)
    {
       var arrItem = GetArray();
       if(arrItem == null) return false;
       
       if(event.keyCode == 13)
       {
           for(var j=0;j<arrItem.length;j++)
          {
             if(obj == arrItem[j])
             {
                 if(arrItem[j+1] != null){ arrItem[j+1].focus();return false;}
                 return;
             }
          }
       }
    }
    function GetArray()
    {
       var arrItem = new Array();
       var inputs = $T("input");
       var num = 0;
       
       for(var i=0;i<inputs.length;i++)
       {
          if(inputs[i].type=="text") 
          {
            //这里就是取模板里的textbox了
            if(right(inputs[i].id,8) == "txtEnter"){ arrItem[num] = inputs[i];}
            //arrItem[num].value就是第num个textbox的值了
            if(arrItem[num]!=null){ num++; }
          }
       }
       if(num == 0){  return null; }
       else return arrItem;
    }
    </script>
    using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    using wildrenerp;public partial class rdlc : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                this.BindData();
            }
        }    private void BindData()
        {
            string sql = "select * from tGoods";
            DataSet ds = SqlDataProvider.GetResultBySql(sql);
            this.GridView1.DataSource = ds;
            this.GridView1.DataBind();
        }
    }