tkymtk's blog

Ruby on Rails及びその周辺について調べたこと。Do whatever you want to do at your own pace.

coffeescript + jQueryで文字カウンタ

Railsのための下準備

ページ遷移時にもjqueryが動くように、Gemfileに以下を追加

gem 'jquery-turbolinks'

また、application.js//= require jquery.turbolinksを追加する。 順番に注意。

//= require jquery
//= require jquery.turbolinks
//
// ... 他 ...
//
//= require turbo links

HTML(例)

<textarea class="content"><!--ここの文字数を--></textarea>
<span class="count "><!--ここに表示 --></span>

coffeescript

$ ->
  $('.content').on('keyup keydown keypress change',->
      thisValueLength = $(this).val().length
      limit = 140
      if thisValueLength < limit
        $('.count').html(limit - thisValueLength).removeClass("text-danger")
      else
        $('.count').html(limit - thisValueLength).addClass("text-danger")
  ).keyup()

リンク

追記 2014/1/9

ページのロード時にも動作するように以下をコードの末尾に追加

.keyup()

参考

間違いがあれば、ご指摘下さると幸いです。