2016-08-21 2 views
0

グリッドビューアイテムテンプレートの3つのコントロールはテンプレートフィールドの1つがテキストボックス、2番目が非表示フィールド、3番目がラベルコントロール、動的に生成されるので、どのようにコントロールの変更イベント上の特定のコントロールの値を取得し、他のダイナミックでその値を表示するjのクエリを使用してコントロールを生成するために...以下の私のコードですjqueryを使用してグリッドビューの変更を使用して複数のコントロールの値を取得

      <Columns> 
           <asp:BoundField DataField="Component_id" HeaderText="Component_id" InsertVisible="False" 
            ReadOnly="True" SortExpression="Component_id" Visible="False" /> 
           <asp:BoundField DataField="Component_Name" HeaderText="Component Name" SortExpression="Component_Name"> 
            <ItemStyle CssClass="text_boxtitle" HorizontalAlign="Left" /> 
           </asp:BoundField> 
           <asp:BoundField DataField="Component_unit" HeaderText="Component_unit" SortExpression="Component_unit" 
            Visible="False" /> 
           <asp:TemplateField HeaderText="PINTS"> 
            <ItemTemplate> 
             <asp:TextBox ID="TextBox_potency" runat="server" CssClass="txt" 
              Width="56px"></asp:TextBox> 
             <asp:RegularExpressionValidator ID="RegularExpressionValidator2" runat="server" ControlToValidate="TextBox_potency" 
              ErrorMessage="*" ValidationExpression="\d{1,9}"></asp:RegularExpressionValidator> 
             <asp:Label ID="Label3" runat="server" Text='<%# Eval("Component_unit", "{0}") %>'></asp:Label> 
             <asp:HiddenField ID="HiddenField_id" runat="server" Value='<%# Eval("Component_id", "{0}") %>' /> 
            </ItemTemplate> 
            <ItemStyle /> 
           </asp:TemplateField> 
           <asp:TemplateField HeaderText="ML"> 
            <ItemStyle /> 
            <ItemTemplate> 
             <asp:TextBox ID="TextBox1" runat="server" Width="56px" 
              CssClass="txt"></asp:TextBox> 
             <asp:RegularExpressionValidator ID="RegularExpressionValidator3" runat="server" ControlToValidate="TextBox1" 
              ErrorMessage="*" ValidationExpression="\d{1,9}"></asp:RegularExpressionValidator> 
             <asp:HiddenField ID="HiddenField_Comp_Qty" runat="server" Value='<%# Eval("Com_Qty") %>' /> 
            </ItemTemplate> 
           </asp:TemplateField> 
          </Columns> 
          <RowStyle CssClass="GridItem" /> 
          <AlternatingRowStyle CssClass="GridAltItem" /> 
          <PagerStyle CssClass="GridPager" /> 
         </asp:GridView> 
+0

:あなたのGridViewのIDと一致するようにNOTE変更gvTest?どのようなコントロールがターゲットですか? – Delosdos

+0

私はTextBox_potencyの値を取得し、その値をTextBox1にjqueryのchangeイベントによって表示したいと考えています。 –

+0

あなたのグリッドビューのIDは何ですか? – Delosdos

答えて

0

GridView.RowDataBoundイベントを使用して、jQueryイベントハンドラを追加できます。

例を示します。 onchangeイベントを発生すべきかを制御

protected void Page_Init(object sender, EventArgs e) { 
    gvTest.RowDataBound += GvTest_RowDataBound; 
} 

private void GvTest_RowDataBound(object sender, GridViewRowEventArgs e) { 
    if (e.Row.RowType == DataControlRowType.DataRow) { 
     TextBox TextBox_Potency = (TextBox)e.Row.FindControl("TextBox_Potency"); 
     TextBox TextBox1 = (TextBox)e.Row.FindControl("TextBox1"); 
     TextBox_Potency.Attributes.Add("onkeyup", "$('#" + TextBox1.ClientID + "').val($(this).val());"); 
    } 
} 
+0

私の要件はそのようなものなので、jqueryコードでその値を取得したい –

+0

グリッドビューのIDはGridView2 –

+0

jqueryを使用して値を設定します。 'TextBox_Potency.Attributes.Add(" onkeyup " 、 "$( '#" + TextBox1.ClientID + "').val($(this).val());"); 'が、ハンドラは.NETのコードビハインドで追加されました – Delosdos

関連する問題