2016-06-14 9 views
0

私は現在チェックボックス付きのフォームを持っています。チェックボックスをカスタマイズして、DOMに続くドロップダウンを持つようにしたいと思います。ユーザーがチェックボックスを選択すると、そのドロップダウンがその下に表示されます。 チェックボックスがオンになっているときにドロップダウンショーを表示することは問題ありませんが、私のフォームにドロップダウンを追加するSymfonyを取得できません。私がこれまで行うことができるのは、フォームの下部に新しいフィールドがありますが、各チェックボックスの直後にドロップダウンが必要です。チェックボックスが選択されたときに表示するドロップダウンを追加する

また、データベースからのデータが含まれるため、ドロップダウンをjavascriptで生成することはできません。私はJSで回避策を作ることができると知っていますが、私はそのアプローチを使用したくないです。

私は過去数日間、さまざまなことを探していましたが、成功しませんでした。

これはSymfony2を使用して達成できますか?

注:私は物事のPHP部分を探しています、JSはドロップダウンが問題ではないことを示す。

ありがとうございます

+0

あなたは正確に何を探してきましたか?選択ボックスをレンダリングする方法は? –

+0

PHPの部分は何ですか? PHPはDOMとは何の関係もありません。これは完全にJavascriptの質問です。たぶんあなたがGoogleで何も見つけられなかったのかもしれません。 どちらか、またはあなたの質問はちょうど厄介で、書き直される必要があります。 –

+0

私は詳細を加えました - それは本当にあまり明確ではありませんでした。 –

答えて

0

よく分かりやすい方法が2つあります。

1 - チェックボックスがクリックされたときに新しいコンボを作成し、フォームに特定の属性「名前」を付けてコンポーネントを追加すると、チェックボックスの内容を知ることができますあなたが必要とするものは何でもしてください。たとえば、次のようなコンボを作成するための準備テンプレートれている必要があります。

<select id="onthefly_x" name="onthefly_x"> 
    <option value="1">One</option> 
    <option value="2">Two</option> 
    <option value="3">Three</option> 
    <option value="4">Four</option> 
</select> 

をそして前に(つまり、エンティティIDとしてチェックボックスを識別した場合)のチェックボックスの谷のための「X」を置き換えるコンポーネントを作成します。そのようにすれば、各チェックボックスのonthefly_ {id}が存在するかどうかをコントローラに問い合わせることができます。

2つ目の選択肢として、コンボには常にチェックボックスが付いていて、クラス属性によって隠された形でフォームを作成できます。次に、チェックボックスをクリックするだけでそれを見えるようにする必要があります。ここで問題となるのは、すべてのコンボが提出されるため、コントローラにチェックボックスを選択してチェックインする必要があります。

あなたは考えを得ることができます。

+0

あなたの答えをありがとう。このサーバー側を行う方法はまったくありませんか? JSソリューションは私が避けようとしているソリューションです。 –

+1

さて、あなたは、各チェックボックスごとに1つのコンボでフォームを作成し、それらをクラスと非必須の両方で非表示にしてから、クリックしてコンポーネントを表示することができます。 – abdiel

+0

はい、それは私が必要とするように思えます。あなたはこれを手にしてどのように達成するための良いリソースを持っていますか? –

関連する問題