首页 > 解决方案 > Rails:从下拉菜单中选择时禁用输入标签

问题描述

场景/上下文

我有一个下拉菜单,下面有两个输入元素。

从下拉菜单中,是公司名称(值设置为各自的公司 ID),以及另一个提示Add a new company

如果从下拉列表中选择了添加新公司的选项,则用户将填写 2 个输入字段元素(即公司名称和公司电子邮件)。

否则,如果从下拉列表中选择了可用的公司,则 2 个输入字段(用于公司名称和电子邮件将被禁用)。

我的问题

如果我希望在不刷新页面的情况下发生事情,这是否可以在没有 AJAX 调用的情况下完成?任何人都可以提出一些其他的选择?

非常感谢!

标签: rubyruby-on-rails-4drop-down-menuruby-on-rails-5

解决方案


这绝对是可能的,尽管您需要使用一些 JavaScript 来实现它并在初始页面加载时向 DOM 加载更多数据。

对于option您的选择下拉列表中的每个,为和company添加一个数据属性。nameemail

change然后,在 JavaScript 中查看该事件的下拉列表。每当触发该事件时,如果为所选选项定义了data-company-name和属性,则禁用输入字段并使用这些值填充它们。data-company-email如果未为该选项定义这些数据属性(可能仅适用于您的“添加新公司”选项),则清除输入字段中的值并启用它们。


推荐阅读