none
請問:如何使用JavaScript取得GridView中之CheckBox元件的值 RRS feed

  • 問題

  • 各位高手好
    請問要如何用JAVASCRIPT取得GridView中之CheckBox元件ID的值
    因為要用CallBack的方式做
    以下是我的C# CODE
    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 System.IO;
    using System.Xml;

    public partial class WebPart_SuggestAdd_List : System.Web.UI.UserControl
    {
    protected void Page_Load(object sender, EventArgs e)
    {
    if (!IsPostBack)
    {

    //可以改用 XmlDataSource
    XmlDataSource xmlDs = new XmlDataSource();
    xmlDs.Data = "<PrivilegeSet><privilege id="11" name="技術部" /><privilege id="21" name="客服部" /> <privilege id="31" name="管理部" /><privilege id="41" name="行銷部" /><privilege id="51" name="垃圾部" /></PrivilegeSet>";
    GridView1.DataSource = xmlDs;
    GridView1.DataKeyNames = new string[] { "id" };
    GridView1.DataBind();
    }
    }

    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
    if (e.Row.RowType == DataControlRowType.Header)
    {
    CheckBox cbxHead = (CheckBox)e.Row.FindControl("cbxHead");
    cbxHead.Attributes.Add("onclick", "for(i=0;i<" + this.GridView1.ClientID + ".all.tags('input').length;i++){if (" + this.GridView1.ClientID + ".all.tags('input')Idea.type=='checkbox'){" + this.GridView1.ClientID + ".all.tags('input')Idea.checked=this.checked}}");
    }
    }

    protected void Button1_Click(object sender, EventArgs e)
    {
    foreach (GridViewRow row in GridView1.Rows)
    {
    CheckBox cbx = (CheckBox)row.FindControl("cbxRow");

    if (cbx.Checked)
    {
    SelectValue += GridView1.DataKeys[row.DataItemIndex].Value.ToString() + ","; /* 勾選的值 */
    }
    }
    Response.Write("123=" + SelectValue.ToString());
    }
    }
    =======================================ASPX CODE
    <%@ Control Language="C#" AutoEventWireup="true" CodeFile="SuggestAdd_List.ascx.cs" Inherits="WebPart_SuggestAdd_List" %>
    <asp:Button ID="Btn_Assignment" runat="server" OnClick="Button1_Click" Text="指派" />
    <asp:UpdatePanel ID="SuggestAdd_List" runat="server">
    <ContentTemplate>
    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
    <Columns>
    <asp:TemplateField>
    <ItemTemplate>
    <asp:CheckBox ID="cbxRow" runat="server" />
    </ItemTemplate>
    </asp:TemplateField>
    <asp:BoundField DataField="id" HeaderText="id" Visible="false" >
    </asp:BoundField>
    <asp:BoundField DataField="Name" HeaderText="Name" />
    </Columns>
    </asp:GridView>
    </ContentTemplate>
    </asp:UpdatePanel>
    2007年3月26日 上午 04:29

所有回覆

  • HI,

    您只要只知CheckBox在網頁中的ID(假設為GridView1_ctl10_ctl01), 就可以這樣子取:

     

    alert(document.getElementById("GridView1_ctl10_ctl01").value);

     

    tihs

    2007年3月27日 上午 03:13
  • alert(document.getElementById("GridView1_ctl10_ctl01").value);

    主要就是不知道GridView1_ctl10_ctl01這ID的值..
    有人知道怎麼抓嗎??

    感謝ㄟ..
    2007年5月23日 下午 06:16
  • 你可以先執行那張網頁,然後按檢視去看它的原始檔

    就可以找到上面說的那個id嚕,我之前也都是這樣去找的。

                                                                                                                                     馬小玲      

    2007年5月24日 上午 05:11