Ruby on rails 是否可以使用“年份”文本框选择日期?
我希望创建一个带有日期字段的祖先类型网页,允许用户输入追溯到数字的日期。这使得date_使用下拉框和jquery datepicker进行选择变得非常不友好 除了显示月份和日期的下拉列表外,还有谁知道一种显示年份文本框的好方法吗 我希望使用date_select的“智能”,同时仍然允许用户以更加用户友好的方式(文本框)输入年份Ruby on rails 是否可以使用“年份”文本框选择日期?,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,我希望创建一个带有日期字段的祖先类型网页,允许用户输入追溯到数字的日期。这使得date_使用下拉框和jquery datepicker进行选择变得非常不友好 除了显示月份和日期的下拉列表外,还有谁知道一种显示年份文本框的好方法吗 我希望使用date_select的“智能”,同时仍然允许用户以更加用户友好的方式(文本框)输入年份 谢谢你能给我的任何帮助 我会在三个选项中选择 1-使用date_仅选择day和month,使用带有javascript的文本字段表示年份 Date_select接受:di
谢谢你能给我的任何帮助 我会在三个选项中选择 1-使用date_仅选择day和month,使用带有javascript的文本字段表示年份 Date_select接受:discard_year选项,如果将其设置为true,则年份字段将呈现为隐藏的_字段,因此没有选择/下拉列表 然后放置一个text_字段并绑定到keyUp事件,并修改隐藏年份字段的值 最重要的问题是,如果用户禁用了javascript,文本字段的值将永远不会设置为隐藏字段,这是一个问题 2-只选择日期和月份以及文本字段 我不确定是否可以使用此选项,您可以尝试使用与上面相同的日期选择,并将输入字段的名称设置为年份字段的名称。问题是,date_select将使用该名称放置一个隐藏字段,而您将使用相同名称放置另一个字段,提交时发送的值可能不是您想要的值。。。你应该看看是否可行 3-使用日期\使用Choosen选择并添加额外功能 如往常一样放置日期,并设置所需的开始年份和结束年份,然后用choosen select替换所选内容,choosen select包含一个文本字段,用于在所选内容的年份之间进行搜索 Choosen为您提供了一个良好且一致的外观,几乎是交叉浏览器(没有在旧的IE版本上进行测试),您获得了用户友好的文本输入,并且,如果禁用javascript,用户仍然有三个选择
我肯定会使用数字3,但也许你不想添加插件。非常尊重Rails的开发人员,在几乎任何情况下,选择可用性的日期都非常弱:-) 与其他字段类型不同,date_select helper生成三个具有特殊名称和ID的select标记,分别用于年、月和日元素。这是一种命名约定,允许控制器代码在处理
params
数组时自动神奇地将输入重新组合成(单个)日期
抱歉,我没有一个方便的命名格式示例(因为我从不使用date_select),但是如果您查看字段的名称,您可以通过使用:discard_year
选项来模拟行为,而不需要太多的黑客攻击。这会得到月份和日期字段,以及一个包含当前年份的隐藏字段(我想)
如果你不反对一点JS或CoffeeScript,你可以在加载DOM后修改输入字段,方法是删除
隐藏的“type”属性(从而使其成为一个简单的文本字段)并将其值设置为空。尝试Tom建议的Javascript路径,我想出了如下的办法:
<%= f.date_select :birth_date %>
<script>
var date_field =
document.getElementsByName('ancestor[birth_date(1i)]')[0];
var new_html = '<%=
f.text_field 'birth_date(1i)', :value=>(f.object.birth_date.strftime("%Y") rescue "") %>';
date_field.outerHTML = new_html;
</script>
变量日期字段=
document.getElementsByName('祖先[出生日期(1i)])[0];
var new_html='(f.object.birth_date.strftime(“%Y”)rescue”“)%>;
date\u field.outerHTML=新的\u html;
(欢迎改进)如果选择Rails上的改进选项,那么这就是确定的方法。我在考虑你的#2选项,但得出结论认为这将是一项艰巨的工作,因为你必须同时处理新建
和编辑
案例。对于一个简单、微创的JS解决方案,我认为改变字段类型应该像我在回答中所说的那样有效。arieljuod-使用插件的负面影响是什么?我不认为这有什么负面影响,我说也许你不想使用插件,因为我不知道你是否想要它(有些人可能更喜欢实现他们所需要的,以优化代码以满足他们的需求)。试试看(这真的很容易),看看它是否符合你的需要。