2011-01-17 23 views
1

私はグリッドビューを持っていて、6番目の列にはリンクボタンがあります。私は、7番目の列の値に応じてリンクボタンを有効/無効にしたいと思っています。次のコードを使用してください。それは文句を言わない仕事...jqueryを使用してgridview内のボタンを無効にする

$('#<%=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のは...それを修正するために、事前に おかげで私を助けて...

+0

'$(この).find( 'TD:EQ(6):入力が')'ボタンです。 – Reigel

答えて

2

は、TD内のリンクボタンを無効にする代わりのTDを無効にしてみてください。

何かTD内のアンカータグを探す

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

のような。

しかし、より良い方法はサーバー側でこれを確認することです。

RowDataBoundイベントをフックすることができます。その内部でこれを確認できます。

1

GridviewのRowDataBoundイベントを使用して簡単にこれを達成できる間に、このタスクを実行するためにJqueryを使用する理由を説明します。 この方法を試してください。

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 
関連する問題