0

我对使用 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')}
        }
    }
}
4

1 回答 1

1

这似乎是一个 JavaScript 问题(不是 Java)并且与特定框架(CA 服务目录)相关,因此有关如何使用特定 CA 功能做事的问题可能最好在CA Service Management 全球用户社区留言板上得到解答。

但是,作为一般逻辑/JavaScript 问题,除了显示您希望看到的字段之外,您还需要隐藏您不想看到的字段。请注意,您的第一个示例调用ca_fdHideField隐藏一组字段,然后ca_fdShowField显示另一组。如果您不想复制大量代码,可以在if语句之前将它们全部隐藏,然后只显示与所选单选按钮对应的代码:

ca_fdHideField(...)
ca_fdHideField(...)
...
if (discovery) {
...
}

等等

于 2013-09-12T19:06:55.863 回答