请教,javascript不会编了

vasualsam 2003-10-20 12:11:04
下面函数的写法显然不好,我想改为后面的函数调用形式

function clk_content(no)
{
switch(no)
{
case 1:
if (page.slct_1_1.value == 0)
{
page.slct_1_2.disabled = true;
page.slct_1_2.value = 0;
page.ID_morning_1.disabled = true;
page.ID_morning_1.value = '';
}
else
{
page.slct_1_2.disabled = false;
page.ID_morning_1.disabled = false;
page.slct_1_3.disabled = true;
page.slct_1_3.value = 0;
}
if (page.slct_1_3.value != 0)
{
page.slct_1_1.disabled = true;
page.slct_1_1.value = 0;
page.slct_1_2.disabled = true;
page.slct_1_2.value = 0;
page.ID_morning_1.disabled = true;
page.ID_morning_1.value = '';
}
calcu();
break;
case 2:
if (page.slct_2_1.value == 0)
{
page.slct_2_2.disabled = true;
page.slct_2_2.value = 0;
page.ID_morning_2.disabled = true;
page.ID_morning_2.value = '';
}
else
{
page.slct_2_2.disabled = false;
page.ID_morning_2.disabled = false;
page.slct_2_3.disabled = true;
page.slct_2_3.value = 0;
}
if (page.slct_2_3.value != 0)
{
page.slct_2_1.disabled = true;
page.slct_2_1.value = 0;
page.slct_2_2.disabled = true;
page.slct_2_2.value = 0;
page.ID_morning_2.disabled = true;
page.ID_morning_2.value = '';
}
calcu();
break;
case 3:
if (page.slct_3_1.value == 0)
{
page.slct_3_2.disabled = true;
page.slct_3_2.value = 0;
page.ID_morning_3.disabled = true;
page.ID_morning_3.value = '';
}
else
{
page.slct_3_2.disabled = false;
page.ID_morning_3.disabled = false;
page.slct_3_3.disabled = true;
page.slct_3_3.value = 0;
}
if (page.slct_1_3.value != 0)
{
page.slct_3_1.disabled = true;
page.slct_3_1.value = 0;
page.slct_3_2.disabled = true;
page.slct_3_2.value = 0;
page.ID_morning_3.disabled = true;
page.ID_morning_3.value = '';
}
calcu();
break;
case 4:
if (page.slct_4_1.value == 0)
{
page.slct_4_2.disabled = true;
page.slct_4_2.value = 0;
page.ID_afternoon_1.disabled = true;
page.ID_afternoon_1.value = '';
}
else
{
page.slct_4_2.disabled = false;
page.ID_afternoon_1.disabled = false;
page.slct_4_3.disabled = true;
page.slct_4_3.value = 0;
}
if (page.slct_4_3.value != 0)
{
page.slct_4_1.disabled = true;
page.slct_4_1.value = 0;
page.slct_4_2.disabled = true;
page.slct_4_2.value = 0;
page.ID_afternoon_1.disabled = true;
page.ID_afternoon_1.value = '';
}
calcu();
break;
case 5:
if (page.slct_5_1.value == 0)
{
page.slct_5_2.disabled = true;
page.slct_5_2.value = 0;
page.ID_afternoon_2.disabled = true;
page.ID_afternoon_2.value = '';
}
else
{
page.slct_5_2.disabled = false;
page.ID_afternoon_2.disabled = false;
page.slct_5_3.disabled = true;
page.slct_5_3.value = 0;
}
if (page.slct_5_3.value != 0)
{
page.slct_5_1.disabled = true;
page.slct_5_1.value = 0;
page.slct_5_2.disabled = true;
page.slct_5_2.value = 0;
page.ID_afternoon_2.disabled = true;
page.ID_afternoon_2.value = '';
}
calcu();
break;
case 6:
if (page.slct_6_1.value == 0)
{
page.slct_6_2.disabled = true;
page.slct_6_2.value = 0;
page.ID_afternoon_3.disabled = true;
page.ID_afternoon_3.value = '';
}
else
{
page.slct_6_2.disabled = false;
page.ID_afternoon_3.disabled = false;
page.slct_6_3.disabled = true;
page.slct_6_3.value = 0;
}
if (page.slct_6_3.value != 0)
{
page.slct_6_1.disabled = true;
page.slct_6_1.value = 0;
page.slct_6_2.disabled = true;
page.slct_6_2.value = 0;
page.ID_afternoon_3.disabled = true;
page.ID_afternoon_3.value = '';
}
calcu();
break;
case 7:
if (page.slct_7_1.value == 0)
{
page.slct_7_2.disabled = true;
page.slct_7_2.value = 0;
page.ID_afternoon_4.disabled = true;
page.ID_afternoon_4.value = '';
}
else
{
page.slct_7_2.disabled = false;
page.ID_afternoon_4.disabled = false;
page.slct_7_3.disabled = true;
page.slct_7_3.value = 0;
}
if (page.slct_7_3.value != 0)
{
page.slct_7_1.disabled = true;
page.slct_7_1.value = 0;
page.slct_7_2.disabled = true;
page.slct_7_2.value = 0;
page.ID_afternoon_4.disabled = true;
page.ID_afternoon_4.value = '';
}
calcu();
break;
case 8:
if (page.slct_8_1.value == 0)
{
page.slct_8_2.disabled = true;
page.slct_8_2.value = 0;
page.ID_evening_1.disabled = true;
page.ID_evening_1.value = '';
}
else
{
page.slct_8_2.disabled = false;
page.ID_evening_1.disabled = false;
page.slct_8_3.disabled = true;
page.slct_8_3.value = 0;
}
if (page.slct_8_3.value != 0)
{
page.slct_8_1.disabled = true;
page.slct_8_1.value = 0;
page.slct_8_2.disabled = true;
page.slct_8_2.value = 0;
page.ID_evening_1.disabled = true;
page.ID_evening_1.value = '';
}
calcu();
break;
case 9:
if (page.slct_9_1.value == 0)
{
page.slct_9_2.disabled = true;
page.slct_9_2.value = 0;
page.ID_evening_2.disabled = true;
page.ID_evening_2.value = '';
}
else
{
page.slct_9_2.disabled = false;
page.ID_evening_2.disabled = false;
page.slct_9_3.disabled = true;
page.slct_9_3.value = 0;
}
if (page.slct_9_3.value != 0)
{
page.slct_9_1.disabled = true;
page.slct_9_1.value = 0;
page.slct_9_2.disabled = true;
page.slct_9_2.value = 0;
page.ID_evening_2.disabled = true;
page.ID_evening_2.value = '';
}
calcu();
break;
case 10:
if (page.slct_10_1.value == 0)
{
page.slct_10_2.disabled = true;
page.slct_10_2.value = 0;
page.ID_evening_3.disabled = true;
page.ID_evening_3.value = '';
}
else
{
page.slct_10_2.disabled = false;
page.ID_evening_3.disabled = false;
page.slct_10_3.disabled = true;
page.slct_10_3.value = 0;
}
if (page.slct_1_3.value != 0)
{
page.slct_10_1.disabled = true;
page.slct_10_1.value = 0;
page.slct_10_2.disabled = true;
page.slct_10_2.value = 0;
page.ID_evening_3.disabled = true;
page.ID_evening_3.value = '';
}
calcu();
break;
}
}

我想将case中相似的if语句改为函数调用形式,现在难点在几个变量名不同,虽然if..else结构一样并且变量个数也一样。
function clk_content(no)
{
switch(no)
{
case 1:
set_page(x,y);
calcu();
break;
case 2:
set_page(x,y);
calcu();
break;
case 3:
set_page(x,y);
calcu();
break;
case 4:
set_page(x,y);
calcu();
break;
case 5:
set_page(x,y);
calcu();
break;
case 6:
set_page(x,y);
calcu();
break;
case 7:
set_page(x,y);
calcu();
break;
case 8:
set_page(x,y);
calcu();
break;
case 9:
set_page(x,y);
calcu();
break;
case 10:
set_page(x,y);
calcu();
break;
}
}


function set_page(x,y)
{
if (page.slct_x_1.value == 0)
{
page.slct_x_2.disabled = true;
page.slct_x_2.value = 0;
page.y.disabled = true;
page.y.value = '';
}
else
{
page.slct_x_2.disabled = false;
page.y.disabled = false;
page.slct_x_3.disabled = true;
page.slct_x_3.value = 0;
}
if (page.slct_x_3.value != 0)
{
page.slct_x_1.disabled = true;
page.slct_x_1.value = 0;
page.slct_x_2.disabled = true;
page.slct_x_2.value = 0;
page.y.disabled = true;
page.y.value = '';
}
}




...全文
24 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
vasualsam 2003-10-20
  • 打赏
  • 举报
回复
太棒了,谢谢!
利而不害 2003-10-20
  • 打赏
  • 举报
回复
调用
case 1:
set_page(1,"ID_morning_1");
calcu();
break;

函数
function set_page(x,y)
{
if (eval("page.slct_" + x + "_1").value == 0)
{
eval("page.slct_" + x + "_2").disabled = true;
eval("page.slct_" + x + "_2").value = 0;
eval("page." + y).disabled = true;
eval("page." + y).value = '';
}
else
{
eval("page.slct_" + x + "_2").disabled = false;
eval("page." + y).disabled = false;
eval("page.slct_" + x + "_3").disabled = true;
eval("page.slct_" + x + "_3").value = 0;
}
if (eval("page.slct_" + x + "_3").value != 0)
{
eval("page.slct_" + x + "_1").disabled = true;
eval("page.slct_" + x + "_1").value = 0;
eval("page.slct_" + x + "_2").disabled = true;
eval("page.slct_" + x + "_2").value = 0;
eval("page." + y).disabled = true;
eval("page." + y).value = '';
}
}

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧