我正在尝试使用Javascript选中复选框时自动填充我的文本区域。
我将如何做到这一点?
这是我目前的观点
.section
.section_header Advanced Settings
.panel.panel-primary
.panel-body
.form-group
= f.check_box :hello, { label: "hello", checked: @user.hello }, '1', '0'
= f.text_field :tag, value: @tag
如果复选框被选中,我想让文本字段打个招呼,如果未选中,则将其留空。
如果这是Ruby Slim模板,则可以添加类似以下内容的内联JavaScript,但您可能希望将其提取到单独的文件中:
.section
.section_header Advanced Settings
.panel.panel-primary
.panel-body
.form-group
= f.check_box :hello, { id: 'hello_cb', label: "hello", checked: @user.hello }, '1', '0'
= f.text_field :tag, value: @tag, id: 'tag_field'
javascript:
let checkbox = document.getElementById('hello_cb')
let input = document.getElementById('tag_field')
checkbox.onchange = function() {
input.value = checkbox.checked ? 'hello' : ''
}
我还将ID添加到元素中以便于定位,但您可以在不触摸原始HTML的情况下以不同的方式定位它们。