2011-01-17 12 views
1

Ich habe eine Gridview und in der 6. Spalte gibt es eine Link-Schaltfläche. Ich möchte die Verknüpfungsschaltfläche gemäß dem Wert der 7. Spalte aktivieren/deaktivieren .... Ich verwende den folgenden Code. aber es wird nicht funktionieren ...Deaktivieren einer Schaltfläche in einer Gridview mit jquery

$('#<%=xgvVisitersRegister .ClientID%> tr').each(function() { 
     if ($(this).find('td:eq(7)').text() != "") { 
      $(this).find('td:eq(6)').attr("disabled", true); 
      } 
      else { 
       $(this).find('td:eq(6)').attr("disabled", false); 
      } 
     }); 

Pls Hilf mir, es zu korrigieren .. Dank im Voraus ...

+0

'$ (this) .find ('td: eq (6): Eingang')' die Taste ist. – Reigel

Antwort

2

Versuchen Sie, den Link-Button in der td zu deaktivieren, anstatt die td zu deaktivieren.

So etwas wie

$(this).find('td:eq(6) a').attr("disabled", true); 

Finden Sie den Anker-Tag innerhalb des td.

Aber die bessere Methode wird dies auf der Serverseite selbst überprüfen.

Sie können das Ereignis RowDataBound haken und darin können Sie dies überprüfen.

1

Warum möchten Sie Jquery verwenden, um diese Aufgabe auszuführen, während Sie dies einfach mithilfe des RowDataBound-Ereignisses von Gridview erreichen können. Versuchen Sie dieses:

Protected Sub gvSample_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles gvSample.RowDataBound 

    Dim objDRV As DataRowView = CType(e.Row.DataItem, DataRowView) 
    If e.Row.RowType = DataControlRowType.DataRow Then 
     Dim btnApprove As LinkButton = CType(e.Row.FindControl("btnApprove"), LinkButton) 

     If Not objDRV("Column7") Is Nothing AndAlso objDRV("Column7").ToString() <> "" Then 
      btnApprove.Enabled = False 
     Else 
      btnApprove.Enabled = True 
     End If 
    End If 

    End Sub 
Verwandte Themen