我目前有一个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标签是动态生成的,因此我不确定如何插入它。

任何帮助,将不胜感激!

最佳答案

您可以传入一个静态ID:

<%= select_tag(:day, options_for_select([['Sunday', 0], ['Monday', 1],
['Tuesday', 2], ['Wednesday', 3], ['Thursday', 4], ['Friday', 5],
['Saturday', 6]], Time.now.wday), id: 'static-id-of-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), class: 'static-class-for-js') %>

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

10-12 14:21
查看更多