HTML JavaScript隐藏/显示按钮

时间:2016-12-09 12:34:53

标签: javascript jquery html ruby-on-rails

我正在开发一个Ruby on Rails应用程序,我试图添加一个隐藏带有一些Id的div的隐藏/显示按钮。我已按照this帖子中的步骤操作,并隐藏了内容(第二个答案)。问题是内容不会永久隐藏。一旦我点击按钮,内容消失,然后浏览器执行类似自动刷新的操作,内容再次出现。

有人可以帮我吗?这是我的第一个应用程序,我在javascript中的背景很差......

我要隐藏/显示的代码如下:

<div id='test'>
  <div class="col_4 patients-list">
    <!-- Patients list -->
    <h5>Patients en cours: <%= @patients.size %></h5>
    <div>
      <% @patients_anomaly.each do |patient| %>
        <div class="patient-anomaly"><%= link_to_patient patient %></div>
      <% end %>
      <% (@patients_to_exit - @patients_anomaly).each do |patient| %>
        <div class="patient-to-exit"><%= link_to_patient patient %></div>
      <% end %>
      <% @patients_normal.each do |patient| %>
        <div class="patient-normal"><%= link_to_patient patient %></div>
      <% end %>
    </div>
  </div>
</div>
<button>Click</button>

按钮的javascript是:

<script type="text/javascript">
  $("button").click(function() {
    $("#test").toggle('hide');
  });
</script>

提前谢谢。

4 个答案:

答案 0 :(得分:2)

I see that you tagged jQuery, did you try $('#element').hide() and $('#element').show() ?

Documentation for show, Documentation for hide

答案 1 :(得分:2)

You can set type="button" to button because default behavior is submit which submits the page so page is shown in default state.

<button type="button">Click</button>

答案 2 :(得分:1)

Instead of this <button>Click</button>, add this

= link_to 'Hide', 'javascript:void(0);', id: 'hideContent'

Then in Javascript

$('#hideContent').on('click', function(){
  $('#test').toggle('hide');
});

This won't reload your page.

Hope that helps!

答案 3 :(得分:-1)

<div id='test'></div>
<button id="hide_show">Click</button>
<script>
  $('#hide_show"').click(function(){
    $('#test').toggle();
  });
</script>