2013-03-05 44 views
3

下面是我的.ascx頁面的一些示例代碼,我試圖用jquery來執行一些操作,$("input")很好地服務了我,但$("asp:Label")不起作用。我應該包括序,使$("asp:Label")工作未能得到.ascx服務器控件ID

<asp:Label ID="lblInvolvedMembers" runat="server"></asp:Label> 
<asp:Label ID="lblAcceptedBy" runat="server"> </asp:Label> 
<input type="text" id="family" value="family " /> 
<input type="button" id="family1" value="button" /> 

//here i am trying to get server control to perform some action, $("input") served me well but $("asp:Label") is not working. what should i include inorder to make $("asp:Label") work 

$("asp:Label").hover(function() { 
     Tip.text(''); 
     var ToolTipID = $(this).attr('id'); 
     var height = $(this).height() + 10; 
     var offset = $(this).offset(); 
     if (data[ToolTipID].split('<br\>').length - 1) { 
      var temp = data[ToolTipID].split('<br\>').length - 1; 
      height = temp * 10; 
     } else { 
      height = 10; 
     } 

    $("input").hover(function() { 
     Tip.text(''); 
     var ToolTipID = $(this).attr('id'); 
     var height = $(this).height() + 10; 
     var offset = $(this).offset(); 
     if (data[ToolTipID].split('<br\>').length - 1) { 
      var temp = data[ToolTipID].split('<br\>').length - 1; 
      height = temp * 10; 
     } else { 
      height = 10; 
     } 
+0

奇怪的是你有'Visible =「false」'標籤? – 2013-03-05 09:02:22

+0

哎呀,忽略它,只是一個示例數據,我會編輯它 – 2013-03-05 09:17:24

回答

0

嘗試

$('input[id$=lblInvolvedMembers]').hover(function() { 
}); 
0

試試這個:

$('#<%=Label.lblInvolvedMembers%>').hover(); 

或本:

$('#<%=Label.lblInvolvedMembers%>').hover(); 
+0

嗨dipesh,我更喜歡獲得動態控制ID,有沒有其他的代碼? – 2013-03-05 09:10:03

+0

@CheemunLow如果它的動態加載的內容然後使用.on而不是隻是懸停..因此.on也適用於動態加載的DOM – 2013-03-05 09:15:15

+0

什麼是完整的代碼? $( 'ASP:標籤')。在();? – 2013-03-05 09:16:46

1

你想改變

<asp:Label ID="lblInvolvedMembers" runat="server"></asp:Label> 

喜歡的東西

<asp:Label ID="lblInvolvedMembers" runat="server" CssClass="label"></asp:Label> 

,那麼你可以在這裏使用jQuery選擇

$('.label').hover(function() { 

,而不是

$("asp:Label").hover(function() { 

這樣一來,所有的標籤將擁有jQuery的懸停功能。

,如果你想要一個特定的標籤被盤旋着,你不得不使用

$('#<%= lblInvolvedMembers.ClientID %>').hover(function() { 

ASP標籤被傳遞到客戶端瀏覽器的JavaScript在那裏可以對其採取行動之前進行處理,因此

lblInvolvedMembers會變成類似ctl0_label_lblInvolvedMembers之類的東西。

UPDATE

它也像你還沒有關閉您的jQuery函數

$('.label').hover(function() { 
     Tip.text(''); 
     var ToolTipID = $(this).attr('id'); 
     var height = $(this).height() + 10; 
     var offset = $(this).offset(); 
     if (data[ToolTipID].split('<br\>').length - 1) { 
      var temp = data[ToolTipID].split('<br\>').length - 1; 
      height = temp * 10; 
     } else { 
      height = 10; 
     } 
}); 

$("input").hover(function() { 
    Tip.text(''); 
    var ToolTipID = $(this).attr('id'); 
    var height = $(this).height() + 10; 
    var offset = $(this).offset(); 
    if (data[ToolTipID].split('<br\>').length - 1) { 
     var temp = data[ToolTipID].split('<br\>').length - 1; 
     height = temp * 10; 
    } else { 
     height = 10; 
    } 
}); 

我不知道什麼Tipdata是的,但你可以看到這個工作.hover()功能jsFiddle - >http://jsfiddle.net/XF4Zk/此處標籤的ID代表由ASP.NET創建的控件的客戶端標識,這就是爲什麼您會使用lblInvolvedMembers.ClientID來獲得Javascript的控件的值

+0

似乎這不是在我的環境中工作,是因爲我使用.ascx? – 2013-03-06 01:33:05