2008-10-21 22 views
17

在Rails中使用表單助手時,是否有一種簡單的方法讓表單助手自動設置tabindex參數?使用表單助手設置tabindex的自動方法

基本上,我不希望在構建表單時(我在更改內容時忘記更新它們)不得不在每個表單元素上手動設置Tab索引。我寫的大部分表格基本上都是一個字段列表。標籤索引應該按照它們定義的順序。理想情況下,我會在form_for調用中設置初始索引,併爲我處理其他所有內容。

有誰知道如何做到這一點?

回答

31

我通常在我的意見我做了:tabindex => autotab像這樣調用助手這樣添加一個方法來ApplicationHelper

def autotab 
    @current_tab ||= 0 
    @current_tab += 1 
end 

然後:

<%= text_field "post", "login",:tabindex => autotab, :value => @login %> 

您還可以修改所有text_fieldcheck_box,方法一次一個自動添加tabindex,通過添加像這樣的東西到您的應用程序助手:(未經測試,但你明白了)

def text_field_with_tabindex(*args) 
    options = args.last 
    options[:tabindex] = autotab if options.is_a?(Hash) && options[:tabindex].nil? 

    text_field_without_tabindex(*args) 
end 

def self.included(base) 
    base.class_eval do 
    alias_method_chain :text_field, :tabindex 
    end 
end 

這可能是更多的麻煩比它的價值

+0

我必須使用本地變量而不是實例變量請你解釋一下我,如果我走@current_tab的CURRENT_TAB而不是爲什麼它不工作 – railslearner 2015-08-11 05:51:25

相關問題