Моя программа позволяет пользователю нажимать кнопку, а затем строка таблицы поднимается в таблицу через ajax. Мне нужно, чтобы фокус был на текстовом поле в этой строке, чтобы пользователь мог добавлять данные.
Мой код ajax ruby:
if( $('#effort_<%= @project_task.id %>').length == 0 )
$('#task_list').prepend('<tr><td><%= @project_task.project.project_number %> <%= @project_task.project.project_name %> - <%= @project_task.task_name %></td>' +
'<td><%= text_field :effort, :hours, :name => 'effort_' + @project_task.id.to_s, :id => 'effort_' + @project_task.id.to_s, :size => 20 %></td>' +
'<td><%= link_to image_tag('icons/delete.png'), "Delete", :method => :delete, :confirm => "Are you sure?", :remote => :true, :title => "delete row", :class => "delete" %></td></tr>' );
:autofocus => true
не работает.
Моя основная проблема - заставить автофокус работать на добавленной строке LAST, а также только на добавленных строках. Таблица заполнена другими строками, которые не были добавлены, поэтому, когда пользователь загружает экран и ничего не добавил, автофокусировка не должна существовать.
Это сложный вопрос, и мне нужно указать в правильном направлении.
Обновление
Сгенерированный HTML при добавлении строки:
<tr>
<td>S006T - Project</td>
<td>
<input id="effort_5" type="text" size="20" name="effort_5">
</td>
<td>
<a class="delete" title="delete row" rel="nofollow" data-remote="true" data-method="delete" data-confirm="Are you sure?" href="Delete">
<img src="/images/icons/delete.png?1314715563" alt="Delete">
</a>
</td>
</tr>