如何解决作为RadioButtons onclick收集
如何为创建以简单形式创建单选按钮的集合实现自动提交?
我有这样的输入行,单击任何按钮时都希望提交。
=f.input :langcode,as: :radio_buttons,:collection => ['de','en'].map{|l| [image_tag('flag_'+l+'.png'),l]},label: false
我试图在最后添加一个onclick选项,但似乎没有任何作用。
感谢您的帮助。
解决方法
只需编写一些真正的JavaScript即可:
// put this in your asset pipeline or packs
document.addEventListener('change',(event) => {
if (!event.target.matches(".submit-on-change")) return;
event.target.form.submit();
});
<form>
<div>
<input type="radio" id="male" name="gender" value="male" class="magic-button">
<label for="male">Male</label><br>
<input type="radio" id="female" name="gender" value="female" class="magic-button">
<label for="female">Female</label><br>
<input type="radio" id="other" name="gender" value="other" class="magic-button">
<label for="other">Other</label>
</div>
</form>
这会创建一个简单的可重用行为,您可以通过添加submit-on-click
类将其附加到任何元素。
您可以通过使用SimpleForm中的input_html
选项向输入中添加类:
= f.input :langcode,as: :radio_buttons,collection: ['de','en'].map{|l| [image_tag('flag_'+l+'.png'),l]},label: false,input_html: { class: 'submit-on-click' }
['de',l]}
有点臭-应该将其从视图中提取出来,并放入辅助方法或其他地方。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。