私は現在、いくつかのBoundFieldsを表示するasp:GridViewと、asp:DropDownListを保持するasp:TemplateFieldを表示しています。グリッドに複数の行を追加し、それぞれを個別に編集することができます。jQueryを使用してasp:GridViewで編集中の現在の行を検索
私が調べる必要があるのは、現在の行で編集中の現在のDropDownListの選択値を取得する方法です。
私は私のリンクボタンの上に呼び出す関数に次のコードを使用して試してみた:
var product = $('.selectedItem').val();
しかし、このコードは今まで最初の方の行の値を返します。したがって、3行目のドロップダウンを編集して5番目の値を選択していても、1行目の値が2の場合、2つしか返されません。
ドロップダウンのための私のhtml:
<asp:TemplateField HeaderText="Vendor">
<ItemTemplate>
<asp:HiddenField ID="hidEntityID" runat="server" Value='<%# Eval("SomeID") %>' />
<asp:DropDownList ID="ddlList" runat="server" DataSourceID="dsList" DataTextField="Value" DataValueField="ID" Font-Names="Verdana" Font-Size="11px" ForeColor="#2D2D2D" ClientIDMode="Static" CssClass="selectedItem" OnDataBound="ddlEntity_DataBound">
<asp:ListItem Value="-1">--- Select ---</asp:ListItem>
</asp:DropDownList>
<asp:ObjectDataSource ID="dsList" runat="server" SelectMethod="GetList" TypeName="SomeClass" OldValuesParameterFormatString="original_{0}"></asp:ObjectDataSource>
</ItemTemplate>
</asp:TemplateField>
グリッドでの私のリンクボタン:
<ItemTemplate>
<a href="#" onclick='addEditDetail(<%# Eval("ID") %>)'>Detail</a>
</ItemTemplate>
は基本的に私は必要なもの、私は編集または選択していた行の現在のインデックスを見つけることです'編集'し、その特定のDropDownの値だけを取得します。
どのような提案もすばらしいでしょう。
ありがとう
メイク 'addEditDetail(本)' 'addEditDetail(この); falseを返します;'それが重要であれば "#"がURLにポップするのを止めてください。 – Graham
ありがとうございました!これは完璧に機能し、私の問題のかなりの部分を実際に整理しました。心から感謝する。 – Melanie