在Rails中执行AJAX-y条件显示/隐藏表单字段,可以通过以下步骤实现:
<%= form_with(model: @user, local: true) do |form| %>
<%= form.select :user_type, options_for_select([['User', 'user'], ['Admin', 'admin']], selected: @user.user_type), data: { target: 'admin_field' } %>
<%= form.text_field :admin_field, style: @user.user_type == 'admin' ? '' : 'display:none' %>
<% end %>
document.addEventListener('turbolinks:load', function() {
const elements = document.querySelectorAll('[data-target]');
elements.forEach(element => {
element.addEventListener('change', function() {
const target = this.dataset.target;
const value = this.value;
const selector = `[name="${target}"]`;
const targetElement = document.querySelector(selector);
if (targetElement) {
if (value === 'admin') {
targetElement.style.display = '';
} else {
targetElement.style.display = 'none';
}
}
});
});
});
这个示例中,我们使用了data-target
属性来指定触发显示/隐藏的目标元素,并在事件监听器中根据选择的值来更新目标元素的显示状态。
推荐的腾讯云相关产品和产品介绍链接地址:
这些产品都可以通过腾讯云的API和SDK进行管理和操作,以满足不同的应用场景和需求。
没有搜到相关的沙龙