如何通过单击图像传递属性数据:
# Something like this I would imagine
<%= f.select '1.png', ranking: 1 %>
# or
<%= f.image_tag '1.png', ranking: 1 %>基于@Tadman的尝试
1
<%= f.hidden_field(:ranking, id: 'ranking') %>
<%= image_tag('1.png', data: { rank: 1 }, class: 'image-clicker') %>
<%= image_tag('2.png', data: { rank: 2 }, class: 'image-clicker') %>
<%= image_tag('3.png', data: { rank: 3 }, class: 'image-clicker') %>
<%= image_tag('4.png', data: { rank: 4 }, class: 'image-clicker') %>2
<%= f.hidden_field(:ranking, id: 'image_ranking') %>
<%= image_tag('1.png', data: { image_ranking: 1 }, class: 'image-clicker') %>
<%= image_tag('2.png', data: { image_ranking: 2 }, class: 'image-clicker') %>
<%= image_tag('3.png', data: { image_ranking: 3 }, class: 'image-clicker') %>
<%= image_tag('4.png', data: { image_ranking: 4 }, class: 'image-clicker') %>3.
<%= f.hidden_field(:image_ranking, id: 'image_ranking') %>
<%= image_tag('1.png', data: { ranking: 1 }, class: 'image-clicker') %>
<%= image_tag('2.png', data: { ranking: 2 }, class: 'image-clicker') %>
<%= image_tag('3.png', data: { ranking: 3 }, class: 'image-clicker') %>
<%= image_tag('4.png', data: { ranking: 4 }, class: 'image-clicker') %>发布于 2016-05-04 21:39:19
通常,您可以使用Rails中可用的不引人注目的JavaScript来完成此操作:
<%= f.hidden_field(:image_ident, id: 'image_ident') %>
<%= image_tag('1.png', data: { ident: 1 }, class: 'img-clicker') %>然后可以使用jQuery触发它:
$('.img-clicker').click(function() {
$('#image_ident').val($(this).data('ident'));
});这里的想法是,您可以有一个隐藏的字段来捕获您的选择,并且在单击每个图像时将其data值传输到上面。您甚至可以添加类信息,以使选定的图像看起来不同,这取决于您自己。
https://stackoverflow.com/questions/37038221
复制相似问题