【问题标题】:Dynamically updating a list from select input从选择输入动态更新列表
【发布时间】:2018-07-27 21:02:06
【问题描述】:

在我的页面上,我有一个输入数据库的所有报价的列表。我希望能够从下拉框中选择一个用户,这样一旦选择了该用户,报价列表就会更新,以便仅显示该用户的报价。

我遇到的麻烦是我不精通 JavaScript,我相信大多数人会如何解决这个问题。我已经有了根据用户更新列表的代码我只是不明白如何使用 JavaScript 来动态更新列表。

我的代码的简要概述:

控制器

if quoted_by = "all"
  # Show every quote
else
  # Show quotes only made by user
end

HTML

<span id="msQuotedBy">
    <b>Filter by Initials: </b>
    <%= select(:msQuotedBy, :select, ['all'] + @initials.collect {|p| [p, p]}, {:selected => @quoted_by}) %>
</span>

JavaScript,现在我的 JavaScript 可以使用以下代码动态更新页面上的日历,但我应该怎么做才能更新引号列表?

$('#msQuotedBy_select').change ->
    $('#msCalendar').fullCalendar('rerenderEvents')

控制器显然是不对的,但这就是逻辑在我脑海中的表现。如何使用('#msQuotedBy_select') 值更新列表,就像我更新日历一样?

【问题讨论】:

    标签: javascript html ruby-on-rails


    【解决方案1】:

    我可能会对控制器中的特定操作使用 AJAX 调用,在该操作中检索来自用户的引号列表,并使用.js.erb 文件进行响应。在此文件中执行以下操作:

    <% html_content = j render(partial: 'a_partial_with_the_quotes', locals: { quotes: @user_quotes }) %>
    $('#yourListOfQuotesContainer').html("<%= html_content %>);
    

    或者类似的东西(这个我没有测试过,可能代码有错误,但这是大体思路)

    【讨论】:

    • 如何使用 AJAX 调用控制器中的特定操作?
    • 只需向路由到您的操作的 URL 发出 ajax 请求。 See
    猜你喜欢
    • 1970-01-01
    • 2018-11-21
    • 1970-01-01
    • 2021-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多