【发布时间】:2015-07-14 07:20:13
【问题描述】:
我在页面上有 7 个 7 周的复选框和 7 天的单独时间选择器。选中复选框时,我想显示该工作日的时间选择器,如果未选中,我想隐藏相应的时间选择器
我已经使用以下代码来获取它,它也可以工作。
function Chk_WeekDay_Clicked(ctrl, week) {
if (ctrl.checked) {
if (week == "Monday")
document.getElementById("<%= Tm_Monday_From.ClientID %>").style.display = "";
else if (week == "Tuesday")
document.getElementById("<%= Tm_Tuesday_From.ClientID %>").style.display = "";
else if (week == "Wednesday")
document.getElementById("<%= Tm_Wednesday_From.ClientID %>").style.display = "";
//Rest of the days
}
else{
if (week == "Monday")
document.getElementById("<%= Tm_Monday_From.ClientID %>").style.display = "none";
else if (week == "Tuesday")
document.getElementById("<%= Tm_Tuesday_From.ClientID %>").style.display = "none";
else if (week == "Wednesday")
document.getElementById("<%= Tm_Wednesday_From.ClientID %>").style.display = "none";
//Rest of the days
}
}
Chk_WeekDay_Clicked 是一个适用于所有工作日复选框的事件处理程序。第一个参数是 Clicked CheckBox 控件,第二个参数是工作日名称。
所有时间选择器控件的名称具有相同的命名模式,Tm_[WeekName]_From
所以,我的问题是,我可以用几行来代替使用这么多 if-else 吗?类似于下面的代码。
function Chk_WeekDay_Clicked(ctrl, week) {
//I want this controlId by using parameter. And I must get it by ClientID as I am using it on page having MasterPage.
var controlId = "Tm_" + week + "_From";
if (ctrl.checked) {
document.getElementById(controlId).style.display = "";
}
else {
document.getElementById(controlId).style.display = "none";
}
}
我的实际问题是如何在变量中获取 Control 的 ClientId。由于我的页面使用母版页,我必须使用 ClientID 来获取控件 ID。
那么,任何人都可以提出解决方案
【问题讨论】:
-
你能显示一些 html 吗?
-
你是怎么调用函数
Chk_WeekDay_Clicked的? -
@MairajAhmad
标签: javascript jquery asp.net .net