我很擅长用js构建表单。我复制并应用了一些代码来根据我选择的单选按钮弹出字段。这适用于两个单选按钮,但我的问题是我想要包含几个(5+),并希望每次更改都重置字段。
我在想我可以输入额外的代码来重置所有字段“onchange”但是我无法让这段代码工作......这是我为我的用途复制和修改的内容:
按照设计的2个按钮效果很好:
{
toggleSelectionFields: function() {
var isLaptop = ca_fdIsSelectRadio('showhide','group','short');
if (isLaptop) {
ca_fdHideField('showhide','longfields');
ca_fdShowField('showhide','shortfields');
} else {
ca_fdHideField('showhide','shortfields');
ca_fdShowField('showhide','longfields');
}
}
}
这是我尝试做的事情:
{
toggleSelectionFields: function() {
Var discovery = ca_fdIsSelectRadio('phone','deskphone4610','selectproblem','SelectIssue','discovery');
Var headset = ca_fdIsSelectRadio('phone','deskphone4610','selectproblem','SelectIssue','headset');
Var fac = ca_fdIsSelectRadio('phone','deskphone4610','selectproblem','SelectIssue','feature');
Var calls = ca_fdIsSelectRadio('phone','deskphone4610','selectproblem','SelectIssue','calls');
if (discovery)
{ca_fdShowField('phone','deskphone4610','selectproblem','discovermode')}
if (headset)
{ca_fdShowField('phone','deskphone4610','selectproblem','headset')}
if (fac)
{ca_fdShowField('phone','deskphone4610','selectproblem','feature')}
if (calls)
{ca_fdShowField('phone','deskphone4610','selectproblem','calls')}
}
}
}
答案 0 :(得分:1)
这似乎是一个JavaScript问题(不是Java)并且与特定框架(CA Service Catalog)相关,因此有关如何使用特定CA函数执行操作的问题可能最好在CA Service Management Global User Community消息上得到解答板。
作为一般逻辑/ JavaScript问题,除了显示您想要查看的字段之外,您还需要隐藏您不想看到的字段。请注意,您的第一个示例调用ca_fdHideField
隐藏一组字段,然后调用ca_fdShowField
以显示另一组字段。如果您不想复制大量代码,可以在if
语句之前隐藏所有代码,然后只显示与所选单选按钮对应的代码:
ca_fdHideField(...)
ca_fdHideField(...)
...
if (discovery) {
...
}
等