隐藏和显示按钮上的div在UpdatePanel中单击
问题描述:
我正在使用UpdatePanel ---> LinkButton-> Div ---> Table Structure。 当我点击LinkButton的股利必须首先显示的表格格式,并在其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;
});
}
或不LinkButton的
使用OnClientClick属性结果相同,因为函数在按钮Onclient click或document.ready函数()中返回false,因此按钮Onclick事件不会触发。
如果我评论返回false,div没有正确显示。
请帮助如何处理整个过程在updatepanel中运行。
答
在这种情况下,您可能必须使用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
功能。
答
如果我理解你的意思,应该这样做: __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;
});
});
这是真正的问题发生,因为函数返回假的,我不能够进入那个按钮“lnkbtnUnitAdd”的OnClick事件中,我已经写了一些服务器禁用并启用某些控件的代码 – user523917 2010-11-30 05:00:09
而不是`return false;`给出`return true;`以便执行`onclick`函数。 – rahul 2010-12-01 04:16:33