我有一个黑客下拉框,显示并隐藏某些div。
<div id="dropDownMenu" onclick="showMenu();">Option 2
<ul>
<li onclick="showDiv('div1');">Option 1</li>
<li onclick="showDiv('div2');">Option 2</li>
<li onclick="showDiv('div3');">Option 3</li>
</ul>
</div>
这非常合适,除非单击我的asp表单按钮,它会将页面重新加载到默认加载视图(显示选项2和div2)。我如何制作它,以便每次单击asp窗体按钮时组合框都不会重置为默认值?
编辑:好的我能够添加隐藏字段没问题,但我从未使用过clientID属性。救救我?
html:
<asp:HiddenField ID="currentSelection" value="div2" runat="server" />
的javascript:
document.getElementById('currentSelection').value=divName;
然后我要添加
showDiv(document.getElementById('currentSelection').value)
到我的按钮点击结束。
答案 0 :(得分:2)
向页面添加一个HiddenField,并使showMenu函数在其中写入当前选项的值。然后在按钮单击事件中恢复从隐藏字段读取值的下拉列表的状态。基本上你需要一个文字,其中选项2是并设置其值。
您需要获取HiddenField的客户端ID以便在JS函数中使用。您需要使用ClientID属性或将控件的id模式设置为static,但请记住,如果您多次渲染此模板,这将导致问题,因为将有多个具有相同ID的DOM元素。