我有一个包含三个复选框的视图:
<div class="tourny-games">
<h4>Games</h4>
<div class="checkboxOptions games show-tabs">
<div class="show-tab">
<div class="checkbox uncheckBoxed">
<input id="" name="" onclick="toggleCheckboxImage(this, '');" type="checkbox" value="1" />
</div>
<img src="https://s3.amazonaws.com/...iconlol.png.jpg" class="game-logo-label" />
</div>
# two more checkboxes here
</div>
</div>
创建标签:
<div class="tabs">
<% @games.each do |game| %>
<a href="#<%= game.striped_name %>" game="<%= game.id %>" game-type="<%= Game::TEAM_GAMES.include?(game.name) ? "team" : "single" %>" class="tab" style="<%= "display:none;" unless @tournament.game_ids.include?(game.id) %>">
<%= game.name %>
</a>
<% end %>
</div>
通过这个jQuery:
$('.show-tabs .show-tab').live('click', function(){
var tab = $('.tabs .tab:nth-of-type(' + ( $(this).index() + 1 ) + ')');
...
if ($(this).find('.checkbox').hasClass('checkBoxed')){
tab.show();
...
} else {
tab.hide();
}
});
基于这个答案,我有以下代码要设置@game_type
控制器:
def game_type
@game_type = params[:game_type]
end
jQuery:
if ($(this).find('.checkbox').hasClass('checkBoxed')){
tab.show();
$.get('tournaments/game_type?game_type='+tab.attr("game-type"))
我已经测试过tab.attr("game-type")
,alert
所以我知道它正在拉动我想要的变量 - 它返回team
或者single
- 但我需要在页面下方的其他 Rails 代码中进行一些条件检查 - 我该怎么做?
例如,这个伪代码演示了我需要做的一件事:
if @game_type == "team"
"Team Name"
else
"Player Name"
end
我知道该@game-type
变量是用 Rails 加载的,因此只是空白 - 但这就是 AJAX 的用武之地,这也是我有点困惑的地方。 这个问题似乎与我要问的内容相关,但它的不同之处在于我似乎无法让它在我自己的代码中工作。