如何使用javascript将gridview中的复选框值获取到texbox中?

如何使用javascript将gridview中的复选框值获取到texbox中?,javascript,jquery,asp.net,Javascript,Jquery,Asp.net,我在gridview中有一个复选框,如下所示 <asp:GridView ID="GridView1" runat="server" BorderColor="Blue" BorderWidth="1px" CellPadding="4" Font-Size="Small" ForeColor="#333333" GridLines="None" Width="165px"> <Columns> <asp:TemplateField>

我在gridview中有一个复选框,如下所示

<asp:GridView ID="GridView1" runat="server" BorderColor="Blue" BorderWidth="1px" CellPadding="4" Font-Size="Small" ForeColor="#333333" GridLines="None" Width="165px">
  <Columns>
     <asp:TemplateField>
        <EditItemTemplate>
         <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        </EditItemTemplate>
     <ItemTemplate>

    <asp:CheckBox ID="CB"  runat="server" />
   </ItemTemplate>
  </asp:TemplateField>
</Columns>


我想使用javascript将checked textbox的值放入gridview之外的另一个textbox。

因为texbox放在EditItemTemplate中,所以您需要先将gridview切换到编辑模式。所以,就目前而言,您无法通过单击复选框在javascript上获取文本框值

$(function () {
     $(".cb").click(function () {
          var selectedText = $(this).next("input[type='hidden']").val();
          $("#<%= SelectedValueTextBox.ClientID %>").val(selectedText);
     });
});

Selected:&nbsp<asp:TextBox runat="server" ID="SelectedValueTextBox" />
<br />
<asp:GridView ID="GridView1" runat="server" BorderColor="Blue" BorderWidth="1px"
     CellPadding="4" Font-Size="Small" ForeColor="#333333" GridLines="None" Width="165px">
     <Columns>
          <asp:TemplateField>
               <EditItemTemplate>
                    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
               </EditItemTemplate>
               <ItemTemplate>
                    <asp:CheckBox ID="CB" runat="server" CssClass="cb" />
                    <asp:HiddenField runat="server" Value="<%# Container.DataItem.ToString() %>" />
               </ItemTemplate>
          </asp:TemplateField>
     </Columns>
</asp:GridView>

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        GridView1.DataSource = Enumerable.Range(1, 10);
        GridView1.DataBind();
    }
}
您可以在复选框旁边添加隐藏字段,并将其值绑定到要在复选框单击时显示在外部文本框中的文本

$(function () {
     $(".cb").click(function () {
          var selectedText = $(this).next("input[type='hidden']").val();
          $("#<%= SelectedValueTextBox.ClientID %>").val(selectedText);
     });
});

Selected:&nbsp<asp:TextBox runat="server" ID="SelectedValueTextBox" />
<br />
<asp:GridView ID="GridView1" runat="server" BorderColor="Blue" BorderWidth="1px"
     CellPadding="4" Font-Size="Small" ForeColor="#333333" GridLines="None" Width="165px">
     <Columns>
          <asp:TemplateField>
               <EditItemTemplate>
                    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
               </EditItemTemplate>
               <ItemTemplate>
                    <asp:CheckBox ID="CB" runat="server" CssClass="cb" />
                    <asp:HiddenField runat="server" Value="<%# Container.DataItem.ToString() %>" />
               </ItemTemplate>
          </asp:TemplateField>
     </Columns>
</asp:GridView>

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        GridView1.DataSource = Enumerable.Range(1, 10);
        GridView1.DataBind();
    }
}
$(函数(){
$(“.cb”)。单击(函数(){
var selectedText=$(this.next(“输入[type='hidden']”)val();
$(“#”)val(selectedText);
});
});
所选内容:

受保护的无效页面加载(对象发送方、事件参数e) { 如果(!IsPostBack) { GridView1.DataSource=Enumerable.Range(1,10); GridView1.DataBind(); } }