我已经被困在这里2个小时了。我正在使用Rails 4.2和Ruby 2.1.1。
我有这组单选按钮:
new.html.erb:
<% PokemonDefault.where(forme: nil).each do |pkm| %>
<li>
<%= f.radio_button :number, pkm.num, :onclick => 'render_picture();' %>
<%= image_tag 'miniaturePokemon/'+pkm.code+'.png' %>
<span class="name"><%= pkm.name %></span>
</li>
<% end %>
我也有这个js:
new.js.erb (注意:“????”是我不知道如何填写的字段之一)
function render_picture() {
$('#pokemon_picture').html('<%=j render :partial => 'picture',:locals => {:number => ???? } %>');
}
最后,图片模板:
_picture.html.erb
<%= number %>
我想要的是当我点击其中一个单选按钮时,我会在'#pokemon_picture'中呈现'_picture',其中包含 pkm.num attibute。 (我想使用这个数字来渲染图片,每张图片都有自己的编号。)
只是为了澄清:每个 pkm 都有自己的号,我想通过Ajax单击单选按钮时立即呈现它。
答案 0 :(得分:0)
<强>尝试强>
<%= f.radio_button :number,
pkm.num,
:onclick => 'render_picture(this);',
:data-num => pkm.num
%>
function render_picture(tag) {
var num = $(tag).data('num');
$('#pokemon_picture').html('<%=j render :partial => 'picture',:locals => {:number => ' + num + ' } %>');
}
或强>
<%= f.radio_button :number,
pkm.num,
:onclick => "render_picture(#{pkm.num});"
%>
function render_picture(num) {
$('#pokemon_picture').html('<%=j render :partial => 'picture',:locals => {:number => ' + num + ' } %>');
}