2016-12-15 123 views
-3

我想要在網絡表單中獲得下拉菜單或選擇框(更喜歡後面的,因爲可以一次選擇多個值)。 在這種情況下,我已經得到下拉工作,基於measures.measurement_type。第二個需要measure.Measurement,按照第一個下拉列表中選擇的類型進行過濾。 我似乎無法得到這個工作。我嘗試了谷歌搜索,但沒有成功。任何人都可以幫助我走上正確的軌道嗎? 我找到了使用數組的解決方案,但沒有使用1數據庫表的工作解決方案。使用Ruby 4.2 感謝根據下拉列表填充選擇框

+0

任何代碼?你試過什麼了?我會說你會需要JS的 – Fallenhero

+0

首先,沒有紅寶石4.2版本。我猜這是一個錯字。 其次,我做了一個簡單的谷歌搜索與您的問題的標題,我發現兩個stackoverflow的答案與確切的結果你在找什麼。 下一次,請嘗試谷歌它併發布的問題 – Pramod

+0

可能的重複[填充一個下拉列表基於其他下拉列表的選擇](http://stackoverflow.com/questions/19039740/populate-one-基於下拉列表的選擇其他下拉列表) – Pramod

回答

0

有兩種選擇。

  1. 使用AJAX調用。就像@Ronan在他的回答中所說的,你需要對第一個下拉列表的選擇(在改變方法上)進行AJAX調用。在rails動作方法中,您可以渲染一個JS部分,您可以在其中爲第二個下拉列表設置過濾項目。

  2. 另一個完全是客戶端。就像將所有可能的項目都下拉到客戶端一樣。將類型和度量同時表示爲javascript數組。然後,在更改類型下拉列表時,使用jQuery過濾測量數組,然後填充第二個下拉列表。

0

你必須使用一些Ajax做這件事

,不能看到其他的方式。當您的measures.measurement_type發生更改時,您會發送一個請求,將請求的measurement_type作爲參數傳遞給您的操作。在那個動作中,你根據在param中傳遞的measurement_type檢索度量值的集合,然後返回這個數據在你的ajax回調中被處理。在該方法中,對於某些jQuery,您應該使用返回的選項填充第二個輸入。

這是一些更簡單的解釋...你應該看一看更完整的文章,以便逐步理解。建議這一個,例如:https://remysharp.com/2007/01/20/auto-populating-select-boxes-using-jquery-ajax。祝你好運!

+0

謝謝,將調查。以前從未使用Ajax,所以我沒有想到這一點。 – Marco

+0

而現在沒有想到。只注意到第二個表中的數據根本沒有保存。這需要先解決。 – Marco

相關問題