ruby 如何在不使用已弃用的remote_function的情况下使用select_tag触发操作

ecfsfe2w  于 12个月前  发布在  Ruby
关注(0)|答案(3)|浏览(153)

我有一个列出事件的应用程序。我希望用户能够按类别过滤事件。为了做到这一点,我希望有一个选择框,用户可以在其中选择一个类别。当用户选择一个类别时,我希望触发一个动作,它将使用JavaScript来列出该类别的事件。所有Stack Overflow的帖子解释如何做到这一点使用remote_function,显然已经停产了现在我有密码

select_tag "category",
    options_for_select(['Social', 'Academic','Sports and Recreation', 'Arts', 'Religious'])

字符串
当一个选项被改变/选择时,我如何用select_tag触发一个动作?我猜我可能必须使用:onchange选项,但我不确定如何做到这一点。

anauzrmj

anauzrmj1#

select_tag有一个options散列(最后一个参数),您可以在其中为select添加任何HTML属性。
有关更多信息,请查看http://apidock.com/rails/ActionView/Helpers/FormTagHelper/select_tag
要添加onchange属性,请看下面的示例:

select_tag "category", options_for_select(['Social', 'Academic','Sports and Recreation', 'Arts', 'Religious']), :onchange => 'your_handler_function()'

字符串

2lpgd968

2lpgd9682#

这就是options-hash参数的用途:

select_tag "category",
  options_for_select(['Social', 'Academic','Sports and Recreation', 'Arts', 'Religious']), :onchange => 'yourJSFunction()'

字符串

bkkx9g8r

bkkx9g8r3#

在视图中,在select标签之后粘贴以下内容:

<script>
  $('#your_select_tag_id').on('change', function() {
    $.post({
      url: '/your/form/action',
      data: $('#your_form_id').serialize()
    }).success(function(data)) {
      console.log('this is what I got back: ' + data);
    };
  }
</script>

字符串

相关问题