2010-11-29 126 views
0

我正在使用UpdatePanel ---> LinkBut​​ton-> Div ---> Table Structure。 當我點擊LinkBut​​ton的股利必須首先顯示的表格格式,並在其onclick事件執行的代碼,我面臨的問題是我已經試過如下這麼多的jQuery功能:隱藏和顯示按鈕上的div在UpdatePanel中單擊

<asp:LinkButton ID="lnkbtnUnitAdd" runat="server" OnClientClick="Toggledivs()" OnClick="lnkbtnAdd_Click" Text="Add" ></asp:LinkButton> 

即使我用:

$(document).ready(function() 
{ 
    $("#lnkbtnUnitAdd").click(function() { 
     $("#divUnit").show("slow"); return false; 
    }); 
}); 

function Toggledivs() 
{ 
    $("#lnkbtnUnitAdd").click(function() { 
     $("#divUnit").show("slow"); return false; 
    }); 
} 

或不LinkBut​​ton的

使用OnClientClick屬性

結果相同,因爲函數在按鈕Onclient click或document.ready函數()中返回false,因此按鈕Onclick事件不會觸發。

如果我評論返回false,div沒有正確顯示。

請幫助如何處理整個過程在updatepanel中運行。

回答

0

在這種情況下,您可能必須使用Control.ClientID。試試這個

$(document).ready(function(){ 
    $("#<%=lnkbtnUnitAdd.ClientID%>").click(function() { 
     $("#divUnit").show("slow"); return false; 
    }); 
}); 

我不會建議在HTML中添加事件處理程序。但是下面的代碼應該可以工作。您不必再次分配點擊事件。

function Toggledivs() 
{ 
    $("#divUnit").show("slow"); 
    return false; 
} 

return true; 

,如果你想獲得執行onclick功能。

+0

這是真正的問題發生,因爲函數返回假的,我不能夠進入那個按鈕「lnkbtnUnitAdd」的OnClick事件中,我已經寫了一些服務器禁用並啓用某些控件的代碼 – user523917 2010-11-30 05:00:09

+0

而不是`return false;`給出`return true;`以便執行`onclick`函數。 – rahul 2010-12-01 04:16:33

0

如果我理解你的意思,應該這樣做: __doPostBack只有在動畫完成後才能調用,你可以通過將回調函數傳遞給jquery的show的第二個參數來完成。 最新通報

$(document).ready(function() 
{ 
    $("#lnkbtnUnitAdd").click(function (e) { 
     var btnName = $(this).attr('name');   
     $("#divUnit").show("slow",function(){ 
      __doPostBack(btnName,''); //now call the actual postback event  
     }); 

     e.preventDefault(); //prevent default postback behavior 
     return false; 
    }); 
}); 
相關問題