Javascript 按钮搜索单击后Div切换消失
我试图用jQuery做一件简单的事情 有一个名为Javascript 按钮搜索单击后Div切换消失,javascript,jquery,asp.net,Javascript,Jquery,Asp.net,我试图用jQuery做一件简单的事情 有一个名为showDiv的按钮来显示或隐藏搜索div,它工作得很好 但是在div中,我有文本和一个按钮来搜索,在我显示div之后,假设有人在TextBox1中键入了一些文本来搜索 但是,如果我键入TextBox1并单击searchButton,div将进入隐藏位置 我想这是因为页面重新加载,但我不知道如何修复它 这是我的代码: <script type="text/javascript"> $(document).ready(functi
showDiv
的按钮来显示或隐藏搜索div,它工作得很好
但是在div中,我有文本和一个按钮来搜索,在我显示div之后,假设有人在TextBox1
中键入了一些文本来搜索
但是,如果我键入TextBox1
并单击searchButton
,div将进入隐藏位置
我想这是因为页面重新加载,但我不知道如何修复它
这是我的代码:
<script type="text/javascript">
$(document).ready(function () {
$('#<%=showDiv.ClientID%>').click(function (evt) {
$("#<%=myDiv.ClientID%>").slideToggle("slow");
evt.preventDefault();
});
});
</script>
<asp:Button ID="showDiv" runat="server" Text="Show/Hide Div" />
<br />
<br />
<div id="myDiv" runat="server" style="display:none">
<asp:Button ID="searchButton" runat="server" Text="Serach Button" />
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
</div>
$(文档).ready(函数(){
$('#')。单击(函数(evt){
$(“#”)。滑动切换(“慢速”);
evt.preventDefault();
});
});
更新:
注意:按钮searchButton
不能有单击方法
<asp:Button ID="searchButton" runat="server" Text="Serach Button" />
如果要使用asp控件,则必须在服务器端管理回发和切换方法 将单击方法添加到showDiv按钮并编写以下代码
<asp:Button ID="showDiv" runat="server" CssClass="showDiv" Text="Show/Hide Div" OnClick="showDiv_Click"/>
<asp:Button ID="searchButton" runat="server" Text="Serach Button" OnClick="searchButton_Click" />
protected void searchButton_Click(object sender, EventArgs e)
{
myDiv.Style["Display"] = "block";
}
对于服务器端的页面加载方法,代码必须为
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack){
myDiv.Style["Display"] = "none";
}
}
如果必须使用thrjquery方法,最好使用html按钮并从jquery管理它的显示
另一种方法是在搜索按钮上单击方法编写此代码
<asp:Button ID="showDiv" runat="server" CssClass="showDiv" Text="Show/Hide Div" OnClick="showDiv_Click"/>
<asp:Button ID="searchButton" runat="server" Text="Serach Button" OnClick="searchButton_Click" />
protected void searchButton_Click(object sender, EventArgs e)
{
myDiv.Style["Display"] = "block";
}
这是否在表单元素中?是的,这是因为页面重新加载。由于您提交了表单,它会被重新加载,并且您的div中有
style=“display:none”
,因此加载表单时的默认值为“不”displayed@Matt弗莱彻:不,这是一个内容页,我的孩子master@crimson589是 啊但我正在搜索一种解决方案,以保持Div处于打开状态,直到用户单击“to”按钮关闭itDiv。单击“showDiv”按钮尝试删除此选项后,Div切换不起作用:$(“#”)。slideToggle(“slow”)代码>再删除一行而不是第二行document.getElementById('myDiv')。style.display='none'?'块':'无'
和see?切换现在正在工作,但当我搜索任何东西时,仍然会在文本框中键入,然后Div隐藏!这是我的原始问题谢谢你的努力,但如果我在文本框中输入任何思考并点击“搜索按钮”。。Div HidingHank U,这不是我的问题,我想使用javascript而不是c代码,你是使用asp按钮强制还是使用html按钮
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack){
myDiv.Style["Display"] = "none";
}
}
<asp:Button ID="searchButton" runat="server" Text="Serach Button" OnClick="searchButton_Click" />
protected void searchButton_Click(object sender, EventArgs e)
{
myDiv.Style["Display"] = "block";
}
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack){
myDiv.Style["Display"] = "none";
}
}