我有一个视图,我在其中循环一系列模型。在每次迭代中,我渲染一个tabs的bootstrap nav,然后是一个我在该迭代中唯一命名的div。该div填充了通过rails ajax指定的各种部分,具体取决于当前单击的选项卡。因此,总的来说,您可以将视图成像为一系列选项卡式导航,每个选项卡下都有一个数据表。其代码如下:
<h3>Season Stats</h3>
<div class="row">
<div class="col">
<% @player.season_stats_season_numbers.each do |season_number_object| %>
<% season_number = season_number_object.season_number %>
<%= render partial: "show_season_stats", locals: {season_number_object: season_number_object, season_number: season_number} %>
<div id=<%="season_stats_div#{season_number}"%>><br></div>
<% end %>
</div>
</div>
“_show_season_stats”部分呈现bootstrap tabbed-nav,其下方的行创建一个由季节编号ID的div。
我无法在我的ajax代码中引用正确的div。例如,如果我想显示防御性统计数据,我有一个文件show_defensive_stats.js.erb,其中包含以下行:
$("#season_stats_div#{@season_number}").html("<%= escape_javascript(render partial: 'defensive_stats_layout', locals: { defensive_season_stats: @defensive_season_stats } ) %>");
当我单击导航中的相应选项卡时,没有任何反应。我知道其余的代码工作正常,因为如果我将循环中的div重命名为“season_stats_div”,那么在我的ajax代码中引用它,即; $(“#season_stats_div”....我得到了我想要的确切行为。
如何正确引用js.erb文件中的命名div?
谢谢!