2017-11-13 10 views
0
は私が内部同封のlink_toの使用方法、ボタンがクリックされたとき、私は自動的にクラス名を使用して、リダイレクト時にスクロールしたり、テーブルに集中することができ

のlink_toレールを使用してテーブルの上にスクロールし、私が試したのdivは自動的に

<%= link_to employees_path do %> 
    <div>...... 
    </div> 
<% end %> 

<tbody> 
<% @request.each do |s| %> 
<tr data-expanded="true"> 
    <td><%= s.date.strftime('%B %Y') %></td> 
    <td><%= s.name %></td> 
    <td><%= s.created_at %></td> 
    <td><%= s.updated_at %></td> 
</tr> 
<% end %> 
</tbody> 
</table> 

です使用したが、それはテーブルの上に

autofocus: true 

仕事doesntの私もページ

<script> 
$('html,body').animate({scrollTop: document.body.scrollHeight},"fast"); 
</script> 
の一番下に行く、それを模倣しようとしました

私が望むのは、ユーザーがボタンをクリックすると、ユーザーは自動的にテーブルにスクロールされるか、テーブルにフォーカスされますが、ボタンがクリックされたときにのみフォーカスが当てられます。

+0

を追加することによってそれを解決しました。テーブルはどこですか?ページの読み込み時に1つの入力をオートフォーカスすることを意味しますか? – EJ2015

+0

申し訳ありませんが、私が望むテーブルを編集すると、ユーザーがボタンをクリックすると、ユーザーはテーブルにスクロールされますが、ボタンがクリックされたときにのみフォーカスが移ります。 – John

+0

@john私は解決策を与えました、それを見てください。 – Gabbar

答えて

1
<div id="scroll-to-table"> 
    <%= link_to employees_path do %> 
     <div>...... 
     </div> 
    <% end %> 
    </div> 


<div id="scroll_to_table"> 
    <tbody> 
    <% @request.each do |s| %> 
    <tr data-expanded="true"> 
     <td><%= s.date.strftime('%B %Y') %></td> 
     <td><%= s.name %></td> 
     <td><%= s.created_at %></td> 
     <td><%= s.updated_at %></td> 
    </tr> 
    <% end %> 
    </tbody> 
    </table> 
</div> 


<script type="text/javascript"> 

    $("#scroll-to-table").click(function() { 
    $('html,body').animate({ 
     scrollTop: $("#scroll_to_table").offset().top}, 
     'slow'); 
    }); 

</script> 
+0

ボタンをクリックしてテーブルを追加するだけで、ボタンは別のページに表示されても機能しません – John

+0

うーん、私はあなたを手に入れませんでした。 – Gabbar

+0

申し訳ありませんが、試してもうまくいきませんでした。私が間違っているなら私を訂正してください私があなたが与えた解決策は単一のビューのためだと思いますか? Link_toが別のビューにあることを説明しましょう。ボタンをクリックすると、そのテーブルを含む別のビューにリダイレクトされます。 2つの別個のビュー – John

0

は、それはあなたが何をしようとしては明らかではありませんアンカー

<%= link_to employees_path(anchor: "value") do %> 

<a name = "value"></a> 
+0

私の答えはあなたを助けましたか? – Gabbar