根据下拉列表填充选择框

时间:2016-12-15 14:53:53

标签: mysql ruby-on-rails

我试图获得一个下拉列表或选择框(更喜欢后者,因为可以在webform中一次选择多个值)。 在这种情况下,我已经根据measures.measurement_type获得了下拉列表。第二个需要是度量。度量,按第一个下拉列表中选择的类型进行筛选。 我似乎无法让这个工作。我试过谷歌搜索,但没有成功。任何人都可以帮助我走上正轨吗? 我找到了使用Arrays的解决方案,但没有使用1个数据库表的工作解决方案。

使用ruby 4.2 感谢

2 个答案:

答案 0 :(得分:0)

你必须使用一些ajax来做到这一点,不能用其他方式看。当measure.measurement_type发生更改时,您会发送一个请求,将该measurement_type作为您的操作的参数传递。在该操作中,您将根据param中传递的measurement_type检索测量集合,然后返回要在success ajax回调上处理的数据。在该方法上,使用一些jquery,您应该使用返回的选项填充第二个输入。

这是一个更简单的解释......你应该看一下更完整的文章,逐步理解。会建议这个,例如:https://remysharp.com/2007/01/20/auto-populating-select-boxes-using-jquery-ajax。祝你好运!

答案 1 :(得分:0)

这有两种选择。

  1. 使用AJAX调用。就像@Ronan在他的回答中所说,你需要在第一次下拉选择时进行AJAX调用(在更改方法上)。在rails操作方法中,您可以渲染JS部分,您可以在其中设置过滤后的项目以进行第二次下拉。

  2. 另一个完全是客户端。就像渲染客户端的所有可能项目一样。将类型和测量值都表示为javascript数组。然后在更改类型下拉列表时,使用jQuery过滤测量数组并在第二个下拉列表中填充。