Gridview文本框有效地获取第一个和最后一个索引

时间:2014-08-06 12:11:10

标签: jquery asp.net gridview textbox

对于我正在使用的gridview,我在ItemTemplate中有一个文本框,我想看看是否有更有效的方法来获取第一个和最后一个索引值,但最终会填充多个行gridview。在下面的gridview中,我正在评估的文本框是txtPercentage。

                    <asp:GridView ID="gvTest" AutoGenerateColumns="False" runat="server" 
                    GridLines="None" CssClass="table table-striped table-hover table-constant-values" 
                    ShowFooter="true" OnRowDataBound="gvTest_RowDataBound">
                    <Columns>
                        <asp:TemplateField HeaderText="Something" >
                            <ItemTemplate>
                                    Something
                            </ItemTemplate>
                        </asp:TemplateField>
                        <asp:TemplateField HeaderText="Whatever">
                            <ItemTemplate>
                                    Whatever
                            </ItemTemplate>
                        </asp:TemplateField>
                        <asp:TemplateField HeaderText="Percentage" SortExpression="Percentage">
                            <ItemTemplate>
                                <asp:TextBox ID="txtPercentage" runat="server" Text='<%# Eval("Percentage","{0:N8}") %>' class="calculate"></asp:TextBox>
                            </ItemTemplate>
                        </asp:TemplateField>
                    </Columns>
                </asp:GridView>

对于jQuery方面,我可以使用它来获取txtPercentage文本框的索引。

var i = 1;
var txtFirstPercentageIndex;
var txtLastPercentageIndex;

//works
$(".calculate").each(function (calindex, value)
{
  if (i == 1)
  {
      txtFirstPercentageIndex = calindex;
      i = 2;
  }
  txtLastPercentageIndex = calindex;
});

有更有效的方法吗?我认为下面这样的事情可能会更好。但是,它没有工作。

//Doesn't work
txtFirstPercentageIndex = $(".calculate").first().index();
txtLastPercentageIndex = $(".calculate").last().index();

提前感谢任何帮助/提示。

1 个答案:

答案 0 :(得分:1)

试试这个,

lastIndex = $(".calculate").length-1;
if(lastIndex >= 0)
   firstIndex = 0;