【发布时间】:2012-05-02 01:53:16
【问题描述】:
我在一个视图中有 2 个下拉菜单。当视图加载选项列表时,会自动填充第一个下拉列表。当一个项目被选中时,我想填充下拉列表#2。
最好的方法是什么?
【问题讨论】:
标签: ruby ruby-on-rails-3 model-view-controller ruby-on-rails-3.1
我在一个视图中有 2 个下拉菜单。当视图加载选项列表时,会自动填充第一个下拉列表。当一个项目被选中时,我想填充下拉列表#2。
最好的方法是什么?
【问题讨论】:
标签: ruby ruby-on-rails-3 model-view-controller ruby-on-rails-3.1
有几种方法可以做到这一点。您可以进行 AJAX 调用(响应下拉列表 #1 中的值选择)。这样做的缺点是它需要对服务器进行往返调用,然后使用结果更新下拉列表 #2 的值。
另一种方法是在页面首次加载时预加载下拉列表#2 的所有可能值,并在值更改后立即使用 JavaScript 在浏览器中更改它(而不是一直调用到服务器获取值)。
无论哪种方式,您很可能都在修改 DOM,因此这将是某种 JavaScript 解决方案。无论您选择 AJAX,还是预加载并立即更改它,可能取决于它如何影响原始页面加载速度、您想要加载到客户端的数据量等。如果它是下拉列表中可能的相对较少的选项 #2 ,那么预加载可能是您最好的选择。
【讨论】: