Ruby Rails:从下拉菜单中选择后禁用输入标记

Ruby Rails:从下拉菜单中选择后禁用输入标记,ruby,ruby-on-rails-4,drop-down-menu,ruby-on-rails-5,Ruby,Ruby On Rails 4,Drop Down Menu,Ruby On Rails 5,场景/背景 我有一个下拉菜单,下面有两个输入元素 从下拉菜单中,是公司名称(其值设置为各自的公司id),以及另一个添加新公司的提示 如果从下拉列表中选择了添加新公司的选项,则用户需要填写两个输入字段元素(即公司名称和公司电子邮件) 否则,如果从下拉列表中选择了可用的公司, 然后,将禁用两个输入字段(公司名称和电子邮件) 我的问题 如果我希望在不刷新页面的情况下发生事情,那么在没有AJAX调用的情况下可以这样做吗? 有人能提出其他的选择吗 非常感谢 这是绝对可能的,不过您需要使用一些JavaScr

场景/背景

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

从下拉菜单中,是公司名称(其值设置为各自的公司id),以及另一个添加新公司的提示

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

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

我的问题

如果我希望在不刷新页面的情况下发生事情,那么在没有AJAX调用的情况下可以这样做吗? 有人能提出其他的选择吗


非常感谢

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

对于
公司
选择下拉列表中的每个
选项
,为
名称
电子邮件
添加数据属性


然后,查看JavaScript中
change
事件的下拉列表。每当触发该事件时,如果为所选选项定义了
数据公司名称
数据公司电子邮件
属性,请禁用输入字段并用这些值填充它们。如果没有为该选项定义这些数据属性(可能仅适用于“添加新公司”选项),请清除输入字段中的值并启用它们。

感谢@s_dolan的响应!我最终完成了工作,没有AJAX调用,也没有事件侦听器。我只是简单地使用JS获取适当的DOM元素(基于元素Id),然后从那里继续前进。保证有一个更优雅的解决方案,但现在,这就足够了。:)