[英]Modifying controls in a DOM window
免责声明:我是ASP.net开发的新手,可能使用了一些错误的单词。
我正在使用插件jquery.DOMwindow.js,源在这里: http ://swip.codylindley.com/jquery.DOMWindow.js
在页面“ home.aspx”中,我打开一个页面,上面将带有一些asp:CheckBox控件。 这些控件在我的“ DOMexample.aspx”页面上。
<a href="DOMexample.aspx" class="fixedAjaxDOMWindow" runat="server">
Check some check boxes. </a>
<script type="text/javascript">
$('.fixedAjaxDOMWindow').openDOMWindow({
loaderImagePath: '../../images/ajax-loader.gif',
height: 1200,
width: 870,
borderColor: '',
borderSize: '0',
overlayColor: '#000',
overlayOpacity: '23',
loader: 1,
loaderHeight: 16,
loaderWidth: 17,
modal: 1,
eventType: 'click',
windowSource: 'ajax',
windowHTTPType: 'get',
windowPadding: 0
});
</script>
在“ DOMexample.aspx”上,我有一些复选框,如果选中,将在其旁边显示一个下拉列表。
<asp:CheckBox ID="chOptions" Text="Options" AutoPostBack="True" runat="server" />
<asp:DropDownList ID="ddOptions" runat="server" />
protected void Page_Load(object sender, EventArgs e)
{
CheckSessionTimeout();
chOptions.CheckedChanged += new EventHandler(this.chOptions_CheckedChanged);
ddOptions.Items.Add("Select Option Level");
ddOptions.Visible = false;
}
void chOptions_CheckedChanged(object sender, EventArgs e)
{
if (chOptions.Checked == true)
ddOptions.Visible = true;
else
ddOptions.Visible = false;
}
我的问题是,当我尝试开始调试时,我能够拉出DOM窗口,但是当我选中该框时,似乎浏览器正在尝试在整个浏览器中加载“ DOMexample.aspx”(相对于刷新DOM窗口中的控件)。
我不得不通过javascript处理我的问题,因为如果要修改* .aspx.cs中的控件,它将需要一个postBack事件来创建我的问题(在整个浏览器中加载DOMwindow-page)。
我创建了一个javascript函数'toggleOptions',该函数将切换下拉框的可见性。
<asp:CheckBox ID="chOptions"
onclick="toggleOptions();"
Text="Options"
runat="server" />
function toggleOptions() {
var chOpt = $get('<%=chOptions.ClientID %>');
if (chOpt.checked) {
$get('<%=ddOptions.ClientID %>').style.visibility = 'visible';
} else {
$get('<%=ddOptions.ClientID %>').style.visibility = 'hidden';
}
}
此外,我想使下拉负载不可见,但仍要渲染(需要渲染才能使javascript能够访问它)。 因此,在“标题”部分中,一旦使用jQuery .ready()函数成功加载了页面,就调用了toggleOptions:
<script type="text/javascript">
$(document).ready(function () {
toggleOptions();
});
</script>
由于复选框(chOptions)最初呈现为未选中状态,因此toggleOptions会引起注意并隐藏ddOptions。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.