如何在我的Rails应用程序中使用jQuery hide函数?

时间:2013-05-06 13:13:01

标签: javascript jquery ruby-on-rails ruby-on-rails-3

如何使用jquery在我的rails应用程序中使用以下代码块隐藏api ..特别是对于关闭按钮...

 <div class="loginwrapperinner">
  <div class="widgettitle">
    <button type="button" class="close" data-dismiss="alert">×</button>
    <%= "<div class=\"flash_error\">#{h alert}</div>".html_safe unless alert.blank? %>
    <%= "<div class=\"flash_notice\">#{h notice}</div>".html_safe unless notice.blank? %>
  </div>
    .....
 </div>

3 个答案:

答案 0 :(得分:1)

清洁版:

HTML

<div class="loginwrapperinner">
  <div class="widgettitle">
    <button type="button" class="close" data-dismiss="alert">×</button>
    <!-- empty container will not appear (try to not using html_safe!) -->
    <div class="flash_error"><%= h(alert || '') %></div>
    <div class="flash_notice"><%= h(notice || '') %></div>
  </div>
    .....
 </div>
的Javascript
$('.close').
  siblings('.flash_error, .flash_notice').hide().
  prevObject.parent().hide();

答案 1 :(得分:0)

简短的解释可能会改变您对此问题的看法:

  1. rails通过视图生成html。它永远不应该(永远不应该)对javascript负责。

  2. 在您的javascript文件中,您可以编写这样的功能。

  3. 因此,假设您的视图已生成一个消息框,并且该框的关闭按钮具有box_close_button类,您可以直接进入您的JS文件并将该监听器附加到该类:

    $('.box_close_button').doSomeJavascriptHere(function() { //whatever you want. })
    

    所以,现在它不是在rails中做什么,而是,正确的jquery选择器是什么做你想做的

答案 2 :(得分:0)

我为我的问题找到了以下解决方案。

 $(function(){
$('.close').click(function(){
$(this).parent().hide();
});
});