Rails date_select и tabIndex

Попытка установить tabIndex для date_select оказалась сложной из коробки.

<%= f.date_select :card_expires_on, 
{:order => [:month, :year], :discard_day => true, :start_year => Date.today.year,
 :end_year => (Date.today.year+10), :add_month_numbers => true}, 
{:tabindex => "11"} %>

Это лучшее, что я придумал, но это устанавливает tabIndex равным 11 для обоих раскрывающихся списков выбора. Как установить tabIndex месяца на 11 и tabIndex года на 12?


person delphi    schedule 12.06.2011    source источник


Ответы (1)


Вы не можете со стандартным помощником date_select, все параметры html передаются классу DateTimeSelector, который создает раскрывающиеся списки для каждого поля с этими параметрами html.

Вы можете изменить этот класс, чтобы он делал то, что вам нужно (см. date_helper.rb в пакете действий, если rails3) или вы можете написать свой собственный date_select, который делает это и т. д.

person jdeseno    schedule 12.06.2011
comment
Кроме того, то, что вы пытаетесь сделать, звучит как незначительное раздражение UX: tabindex обычно должен быть согласованным в одной форме. - person jdeseno; 12.06.2011
comment
В яблочко. У меня впереди 10 входов, тогда это будут входы 11 и 12... Или вы имели в виду что-то другое? - person delphi; 12.06.2011