选择特定选项后显示隐藏字段

Posted

技术标签:

【中文标题】选择特定选项后显示隐藏字段【英文标题】:Show hidden fields after selecting particular option 【发布时间】:2016-07-06 12:32:18 【问题描述】:

我想写一个书签之类的东西,它会在点击时执行并自动填充值。

我可以通过

选择值
document.getElementById('component').value="IAE-Data Agent";
document.getElementById('component').onchange();

但它不显示隐藏字段。这是在该选择框之后的页面中编写的 javascript 代码,我认为在手动选择框后会显示该字段。

showFieldWhen('cf_agents',
            'component', ['IAE-Data Agent']);

我尝试了执行该函数和许多其他方法,但仍然没有显示这些字段。

手动选择前(字段隐藏时)

<th class="field_label  bz_hidden_field" id="field_label_cf_agents">
        <label for="cf_agents">
      <a title="A custom Free Text field in this installation of Bugzilla." class="field_help_link" href="page.cgi?id=fields.html#cf_agents">Agent Class Name:</a>
    </label>
    </th>

字段显示后:

  <th class="field_label" id="field_label_cf_agents">
        <label for="cf_agents">
      <a title="A custom Free Text field in this installation of Bugzilla." class="field_help_link" href="page.cgi?id=fields.html#cf_agents">Agent Class Name:</a>
    </label>
    </th>

只有类属性发生变化。我尝试了很多方法,但仍然通过脚本我无法做到。

当我使用 selenium 脚本时

Select dropdown = new Select(driver.findElement(By.id("component")));
    dropdown.selectByValue("IAE-Data Agent");

我可以看到隐藏的字段正在显示。但这不可行,因为我不想运行 java 应用程序来完成任务。

可以尝试哪些其他方式来显示这些字段。如果 javascript 代码不起作用,是否可以通过书签或其他方式执行 selenium 代码来完成它。

【问题讨论】:

我想出了一个我们使用代码的方法 document.getElementById('field_label_cf_agents').className="field_value";直接改类名 如果您已经解决了自己的问题,请发布答案并“接受”它 - 这对后代来说是显而易见的。 【参考方案1】:

由于选择选项框后字段的类属性发生变化。我直接使用了代码

document.getElementById('field_label_cf_agents').className="field_value";

此代码直接更改了类名属性,因此显示了该字段。

【讨论】:

以上是关于选择特定选项后显示隐藏字段的主要内容,如果未能解决你的问题,请参考以下文章

ReactJs:根据选择值显示或隐藏输入字段

如何使 jQuery 自动完成列表显示所有选项 onfocus 并在选择选项后隐藏?

显示 UIPickerView 文本字段被选中,然后在选中后隐藏

求助idea 数据库字段被隐藏,求如何显示

Django Admin显示/隐藏字段如果在下拉菜单中选择了特定值

如果选择了选项,则显示隐藏的文本字段