1

C#のグリッドビュー内にチェックボックステンプレートフィールドがあります。このフィールドには、背後にIDを持つ非表示フィールドもあります。jQuery を使用して、チェックボックスのクリック時にイベントを発生させて datakey 値を取得し、jQuery を介してクエリを実行し、チェックされた項目をデータベースに追加できるようにします。ボタン全体がクリックされたときにデータキーを取得する例を見てきましたが、グリッドビュー内でクリックされた各チェックボックスでこれを実行したいと考えています。IDにアクセスしようとすると、現在「未定義」になります。

グリッドビュー内の C#

<ItemTemplate>
     <asp:CheckBox ID="CheckBox" CssClass="checkbox" runat="server" />
     <asp:HiddenField ID="idnum" runat="server" Value='<%# Eval("id") %>' />
</ItemTemplate>

jQuery

$(document).ready(function () {
           var gridResults = document.getElementById('<%= grdResults.ClientID %>');

           $("form input:checkbox").click(function (e) {
                   var id = $(this).next('#idnum').val();
                   alert(id);
                   return false;                                        
           });
}); 
4

2 に答える 2

1

複数のフィールドがあるID="idnum"場合は、おそらくそれを に変更する必要がありますclass="idnum"。クラスを追加した後、次を使用して値を取得できます。

var gridResults = $(e.target).next('.idnum').val();

idnumフィールドごとに異なる単なる例である場合は、単に使用できますvar id = $('#idnum').val();

編集:要素をjQueryオブジェクトに変換するようにe.target.next('.idnum').val();変更$(e.target).next('.idnum').val();

于 2012-06-08T12:54:22.233 に答える
0

//これは、GridView 内のチェック ボックス チェック イベントで datakeyname 値を取得するスクリプトです。

<script type="text/jscript">
        $(document).ready(function () {
            var gridResults = document.getElementById('<%= grdCateogry.ClientID %>');

            $("form input:checkbox").click(function (e) {
                var id = $(this).next($('#IDVal')).val();
                alert(id);
                return false;
            });
        });
    </script>

//これは GridView です

<asp:GridView ID="grdCateogry" DataKeyNames="CategoryId" runat="server">
    <Columns>
      <asp:TemplateField HeaderText ="Try" ItemStyle-Width="20px">
         <ItemTemplate>
           <asp:CheckBox ID="chkSelect" runat="server" />   
           <asp:HiddenField ID="IDVal" runat="server" Value='<%# Eval("CategoryId") %>' />
          </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>

于 2014-12-30T12:53:35.287 に答える