如何将复选框检查的行索引从gridview传递给javascript

时间:2012-10-24 06:51:43

标签: javascript asp.net

我有一个gridview,我想将rowindex值传递给javascript。我尝试使用以下代码,但它无法正常工作。

在Gridview中

<asp:TemplateField>
     <ItemTemplate>
        <asp:CheckBox ID="chkSelect" runat="server"  onclick="javascript:return checkSts('<%# DataBinder.Eval(Container.DataItemIndex) %>')" />
     </ItemTemplate>
</asp:TemplateField> 

在Javascript中:

function checkSts(i) {  alert(i); }

2 个答案:

答案 0 :(得分:1)

您可以将其输入为

<input type="checkbox" onclick="return checkSts('<%#Eval("FieldName")%>')" />

并且工作。

替代asp:checkbox

<asp:CheckBox runat="server" ID="chBEna" onclick='<%#getCode(Container.DataItem)%>' />

以及

背后的代码
protected string getCode(object oItem)
{
    string cPid = DataBinder.Eval(oItem, "FieldName").ToString();

    return "return checkSts('" + cPid + "')";
}

检查并运作。

答案 1 :(得分:0)

您可以使用rowindex来获取parentElement元素,以覆盖特定元素嵌套的行

例如

onclick="callme(this)"

function callme(obj)
{
  obj.parentElement.parentElement.rowIndex--- this wud be rowindex of the row.
}