我有一個GridView,看起來像這樣在GridView的檢查行的值:查找使用jQuery
<div id="btnCancel" onclick="cancelize()" class="btn btn-default pull-right ui-colour"><span class="glyphicon glyphicon-remove"></span></div>
<asp:GridView ID="gv" runat="server" AutoGenerateColumns="False"
OnPageIndexChanging="gv_PageIndexChanging" Width="90%" PageSize="10" HorizontalAlign="Center" AllowPaging="true" OnRowDataBound="gv_RowDataBound"
CssClass="table table-bordered ui-state-default table-condensed table-responsive table-hover">
<Columns>
<asp:BoundField DataField="id" HeaderText="Nbr." ItemStyle-HorizontalAlign="center" ItemStyle-VerticalAlign="Top" ItemStyle-Wrap="false" />
<asp:TemplateField ItemStyle-Wrap="false" ItemStyle-VerticalAlign="Top" HeaderText="Options" HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<div id="btnEdit" onclick="modalize(<%#Eval("id") %>)" class="btn btn-sm btn-default ui-colour"><span class="glyphicon glyphicon-wrench"></span></div>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField Visible="true" DataField="status" HeaderText="Status" ItemStyle-HorizontalAlign="center" HeaderStyle-HorizontalAlign="Center" ItemStyle-VerticalAlign="Top" ItemStyle-Wrap="false" />
<asp:BoundField Visible="true" DataField="amount" HeaderText="Amount" ItemStyle-HorizontalAlign="center" HeaderStyle-HorizontalAlign="Center" ItemStyle-VerticalAlign="Top" ItemStyle-Wrap="false" />
<asp:BoundField Visible="true" DataField="added" HeaderText="Added" ItemStyle-HorizontalAlign="center" HeaderStyle-HorizontalAlign="Center" ItemStyle-VerticalAlign="Top" ItemStyle-Wrap="false" DataFormatString="{0:d}" />
<asp:BoundField Visible="true" DataField="nextbilling" HeaderText="Next Billing" ItemStyle-HorizontalAlign="center" HeaderStyle-HorizontalAlign="Center" ItemStyle-VerticalAlign="Top" ItemStyle-Wrap="false" DataFormatString="{0:d}" />
<asp:BoundField Visible="true" DataField="lastresult" HeaderText="Last Result" ItemStyle-HorizontalAlign="center" HeaderStyle-HorizontalAlign="Center" ItemStyle-VerticalAlign="Top" ItemStyle-Wrap="false" />
<asp:TemplateField ItemStyle-Wrap="false" ItemStyle-VerticalAlign="Top" HeaderText="Cancel" HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Label runat="server" Visible="false" ID="hfId" Text='<%#Eval("id") %>'></asp:Label>
<asp:Label runat="server" Visible="false" Text='<%# " - " + Eval("cancel", "{0:d}") %>' ID="lblCancel"></asp:Label>
<asp:CheckBox ID="cbCancel" CssClass="cbCancel" runat="server" Visible="false" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<a id="hlCancel" class="hlCancel" />
<a id="hlEdit" class="hlEdit" />
函數調用模式:
function cancelize() {
var pId = queryString.pid;
var ids = "";
$("input[name$=cbCancel]:checked").each(function() {
ids += "-" + $(this).next('input:hidden[id$=hfId]').val();//stuck here
}).get();
var url = "pageToView.aspx?id=1&pid=" + pId+ "&cids=" + ids;
$j('#hlCancel').attr('href', url)
$j('#hlCancel').click();
}
一切都很正常,但在。每個( )在cancelize函數中它將返回未定義的選定行。這裏需要改變什麼,以便它可以通過選中複選框從行中獲取hfId值?
[jQuery從複選框選擇的Asp.net Gridview中獲取選定的行值](http://www.aspdotnet-suresh.com/2012/10/jquery-get-selected-row-values-from.html)或[在CheckBox和ASP.NET GridView中使用jQuery](http://www.dotnetcurry.com/showarticle.aspx?ID=662)我認爲兩者都可以爲你工作。 – 2014-11-22 04:08:38
@ManishGoswami不幸的是,這似乎並不適合我。我只能在next()中看到名稱代替id,與上面的不同。試過它無濟於事 – user4075691 2014-11-22 04:14:19