javascript - Rails ERB select_tag,使用 javascript 更新默认值

标签 javascript ruby-on-rails html-select

我目前有一个选择当前日期的 select_tag,如下所示(最后一个值指定选择哪一个):

<%= select_tag(:day, options_for_select([['Sunday', 0], ['Monday', 1],
['Tuesday', 2], ['Wednesday', 3], ['Thursday', 4], ['Friday', 5],
['Saturday', 6]], Time.now.wday)) %>

我遇到的问题是服务器使用 UTC,因此日期对于客户端来说可能不正确,具体取决于他或她的位置。我发现一些 Javascript 可以为客户端返回正确的日期。

<script>
  function getDay(){
    var d = new Date();
    var n = d.getDay();
  }
</script>

如何通过插入此值来替换 Time.now.wday 作为 select_tag 的默认值,让 ERB 标记使用客户端当前日期。

我考虑过这样的事情

document.getElementById("id_of_select_tag").selectedIndex = n;

但是 select_tag 的 ID 标签是动态生成的,所以我不知道如何将其插入。

如有任何帮助,我们将不胜感激!

最佳答案

最终解决方案,感谢 Babar

<%= select_tag(:day, options_for_select([['Sunday', 0], ['Monday', 1], ['Tuesday', 2], ['Wednesday', 3], ['Thursday', 4], ['Friday', 5], ['Saturday', 6]], 0), id: 'static-id-of-select-tag') %>

<script>
function myFunction() {
var d = new Date();
var n = ndgetDay();

document.getElementById("static-id-of-select-tag").selectedIndex = n;
}
myFunction()
</script>

关于javascript - Rails ERB select_tag,使用 javascript 更新默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45829264/

相关文章:

javascript - 如何编写代码使对象可以运行堆栈的链接函数 - 书中的 JavaScript 示例

javascript - 继承:构造函数不运行 "super"?

javascript - 如何在 Angular 4 中将样式导出为 css 文件

javascript - AngularJS 错误? - 选择多个 - 根据选项数量动态设置大小

javascript - 使用 Angular js 在编辑操作期间设置多个 dropdownist 值

javascript - 在canvas html中将正方形转换为圆形

ruby-on-rails - 在 ruby​​ 中使用自定义比较器对哈希进行排序

ruby-on-rails - Rspec rails api Controller 索引测试

javascript - 带有 foo.js 和 foo.js.coffee(空)的 Rails Assets 管道导致 JS 循环。为什么?

css - 使用 '-webkit-appearance:none;' 阻止苹果乱用 CSS