0

検索用のフォームを表示するために、layouts/application.html.erb で呼び出すパーシャルがあります。ユーザーは 2 つの選択フィールドから値を選択します。次に、Enter キーを押して、検索結果を含むビューをレンダリングする必要があります。

ここに部分があります:

** _search.html.erb:

<form name="classic">
<select name="countries" size="1" onChange="updatecities(this.selectedIndex)" style="width: 150px">
<option selected>Select A Brand</option>
<option value="usa">Opel</option>
<option value="canada">Cheverolet</option>
<option value="uk">Scoda</option>
</select>

<select name="cities" size="1" style="width: 150px">
</select>

</form>

<script type="text/javascript">

var countrieslist=document.classic.countries
var citieslist=document.classic.cities

var cities=new Array()
cities[0]=""
cities[1]=["Vectra|vectravalue", "Corsa|corsavalue"]
cities[2]=["Optra|optravalue", "Lanos|lanosvalue"]
cities[3]=["Octavia|octaviavalue", "Fleshia|fleshiavalue"]

function updatecities(selectedcitygroup){
citieslist.options.length=0
if (selectedcitygroup>0){
for (i=0; i<cities[selectedcitygroup].length; i++)
citieslist.options[citieslist.options.length]=new Option(cities[selectedcitygroup][i].split("|")[0],         cities[selectedcitygroup][i].split("|")[1])
}
}

</script>

JavaScript は、最初の選択ドロップダウンに基づいて 2 番目の選択ドロップダウンをフィルタリングするだけです。ここで行う必要があるのは、このフォームで選択した値を params ハッシュの URL に送信して、コントローラーで値を操作して検索結果を表示できるようにすることです。link_to を使用できます。

フォーム フィールドから選択した値を link_to に含めるにはどうすればよいですか?

あなたの助けに感謝します。ありがとう!

4

1 に答える 1

0

フォームをシリアル化し、データをサーバーに送信します。選択された値は、キーが select タグの「id」であるハッシュ値として渡されます。

于 2012-12-29T18:25:31.207 に答える