2011-08-23 26 views
5

私はRailsとjQueryを使ってアプリケーションを開発しています。私は、入力フォームを介してID整数値を提出したいが、フォームに記入している間はユーザーにわかりやすいテキスト値を表示する。テキスト入力フィールドはjQueryオートコンプリートを使用しているので、ユーザーが入力を選択すると、整数値が入力フィールドに入れられます。実際に送信されたものとは異なる値を表示する方法はありますか?入力[type = text]表示と異なる値を送信

+0

テキストから数字までの数字がわかる部分を移動するとどうなりますか? – Dani

+0

私はそれを行うことができましたが、私は本当にコントローラをできるだけきれいに保ちたいと思っています。また、私はこの(大きなフォーム)の複数のケースを持っているので、私はかなりのカスタムコードをコントローラに追加する必要があります。私はいくつかの事前に構築されたプラグインやこれを行う方法があるのだろうかと思っています。もしそうでなければ、私はコントローラーに入れてしまいます。 – Pogopuschel

+0

あなたはこれまでのようにデータグリッドのactionscriptでこれを行うことができました) – SuperUberDuper

答えて

1

jQueryのUIオートコンプリートのためのコンボボックスの機能を使用してみてください:

http://jqueryui.com/demos/autocomplete/#combobox

オプションのvalue属性は、フォームではなく、表示テキストと一緒に送信されますものです。

+0

ああ、私は完全にコンボボックスの例を見過ごした!ありがとう! – Pogopuschel

+0

ドロップダウンボックスを追加せずにこれを行う方法はありますか?そのテキストボックスを持っていますか? – lynnyi

+0

@lynnyiと、どこでオートコンプリートのオプションを表示しますか? –

0

あなたは

$('myform').submit(function() { /* your thing here */ }); 

を使用することができますし、ユーザーが送信したときに、あなたの事が実行されます。

+0

ありがとう、私は理解しています。しかし、それは私が修正したいすべての値を追跡して置き換えることによって多くの手作業を行う必要があることを意味します。その場合は、私はそれをはるかにクリーンなソリューションになるだろうコントローラに入れることができます。それとも私は何かを見落としていますか? – Pogopuschel

1

私はあなたがしたいことを理解しています。 私はドロップダウンのために同じことをしました。 しかし、テキストボックスを試したことはありません!:( ドロップダウンにはデータベースのエントリ名が表示され、ユーザーがフォームを送信するとデータベースのIDが渡されます。 あなたが望むものを正確に願っています 私は以下同じのためのコードを入れています 私は、これはあなたが探しているものではありません知っているが、それはあなたにヒントを与えることがあり

をビューで:。!

<% = f.selectを: facilitator_group_id、FacilitatorGroup.all.map {| fg | [fg.name、fg.id]}%>

FacilitatotGroupは私のモデル名です。

乾杯!

こんにちは。私がテキストフィールドを使用している理由は、ユーザーがDBに保存したいデータを入力するためだと感じています。 あなたの理由から、なぜあなたはドロップダウンを使用できませんか?

+0

コードはドロップダウンメニューでのみ機能します。オプションタグにはテキストと値の両方のプロパティがあり、テキストボックスには表示されません。 jQueryオートコンプリートを使用しているため、ドロップダウンを使用できません。 – Pogopuschel

1

また、非表示の入力フィールドを保持し、元のフィールドを変更するたびに非表示の入力フィールドを更新するために「変更」イベントを使用することもできます。

関連する問題