OnClick выделяет весь текст в рельсах text_field

Есть ли способ rails, позволяющий text_field выбирать весь текст при нажатии на него? Если нет, то как я могу включить JavaScript для добавления такой функциональности?

<% text_field value => "highlight this", :after => "onClick="SelectAll('txtfld');"" %>  

person thedeepfield    schedule 28.12.2010    source источник


Ответы (2)


Рекомендую прочитать эту статью:

выделить текст при нажатии на текстовое поле

Это именно то, что вы хотите.

<% form_for @foo do |f| %>
  <%= f.text_field :bar, :onclick => 'this.select();' %>
     or
  <%= text_field_tag :bar, nil, :onclick => 'this.select();' %>
<% end %>
person sethvargo    schedule 28.12.2010

Если вы используете jQuery, это очень просто и удобно.

Добавьте это в свой файл javascript:

jQuery(document).ready(function($) {
  $(".select_all_text").focus(function() {
    this.select();
  });
});

После этого добавьте имя класса select_all_text в поля, в которых вы хотите иметь функциональность:

<%= f.text_field :test, :class => "select_all_text" %>
person PeterWong    schedule 28.12.2010
comment
будет ли это работать, если к текстовому полю уже прикреплен стиль класса css? - person thedeepfield; 28.12.2010
comment
вы можете прикрепить несколько классов css. у вас может быть только один идентификатор. разделить несколько классов с помощью пробелов class=class_one class_two - person sethvargo; 28.12.2010
comment
Да, конечно. например. <%= f.text_field :test, :class => "class1 class2 select_all_text other_class" %> - person PeterWong; 28.12.2010