我正在尝试使用SimpleForm gem
为datepicker创建自定义输入class DatepickerInput < SimpleForm::Inputs::Base
def input
out = ''
out << @builder.text_field(attribute_name, input_html_options)
out << @builder.hidden_field(attribute_name, { :class => attribute_name.to_s + "-alt"})
end
end
但是当生成数据时,两个输入都具有相同的ID
<input class="datepicker" id="performance_cycle_start_date" name="performance_cycle[start_date]" type="text">
<input class="start_date_internal" id="performance_cycle_start_date" name="performance_cycle[start_date]" type="hidden">
如何将ID更改为“#{original_id} _internal_format”
P.S。此输入的代码取自http://www.chadcf.com/blog/jqueryui-datepicker-rails-and-simpleform-easy-way
答案 0 :(得分:0)
正如博客所说,我们可以提供Id,请尝试以下操作。这将确保两个字段具有不同的“id”属性。
class DatepickerInput < SimpleForm::Inputs::Base
def input
out = ''
out << @builder.text_field(attribute_name, input_html_options)
out << @builder.hidden_field(attribute_name, { :class => attribute_name.to_s + "-alt", :id => "#{attribute_name.to_s}_internal_format" })
end
end