質問

ねえ、私は人が複数日をリクエストに追加できるエントリフォームを作成しています。各リクエストには1日以上添付される場合があり、毎日にフォームを送信する前にいくつかの選択を行う必要があります。私はを使用しています ここで説明する方法 これを達成するために。

次に、JSONデータソースを使用して親子関係でドロップダウンリストを構築するなど、より高度なUI機能を始めたいと思います。私はまだ非常に新しいWeb開発です(IBM Iグリーンスクリーン開発から来ています)ので、私はまだ例とチュートリアルで学んでいます。セットが1つしかない場合、親子のドロップダウンの多くの例を見つけましたが、正しい選択された値を表示できる間、ページに追加されたすべての行とすべての新しい行でこれを機能させる必要があります編集ページが読み込まれたときの各行について。これに加えて、特定の選択が行われたときに、いくつかの新しいフィールドを明らかにしたいと思います。

これが私がこれまでに持っているものです:Multi-day entry

(これは、スクリーンショットは、最終機能について心配しないことに基づいており、それを機能させるだけです。子供のドロップダウンは現在すべてを示しています。)

リクエストタイプあなたが撮影する休暇のタイプを選択します。使用時間タイプリクエストタイプに入力されたものに基づいてリストを取得します。上記の問題は、「Dayを追加」をクリックするときに追加された新しい行で動作させることです。課題は、リクエストタイプに基づいて2行目を表示/非表示にすることです。人が病気を選択した場合、従業員の病気、病気の性質は別の選択肢を選択する場合、病気と関係の性質の両方を示します。休暇を選択した場合、どちらのフィールドも表示されないはずです。

これらのリストのJSONセットアップがあります。どのオプションに対して表示されるものを定義するフィールドを含めました。

[{"Id":11,"Title":"Employee Illness","ParentId":10,"MapToCode":"02","HasRelationship":false,"HasNatureOfIllness":true,"ChildRequired":false,"Notes":"","AccrualCode":"S"},
{"Id":1,"Title":"Vacation","ParentId":0,"MapToCode":"04","HasRelationship":false,"HasNatureOfIllness":false,"ChildRequired":false,"Notes":"","AccrualCode":"VAC"}]

初心者が学び、理解するのはこれがたくさんあることを知っています。チュートリアルを共有したり知ったりすることをいとわない、または私を正しい方向に向けることさえできることを喜んで行った人はいますか? (適切な用語でさえ)これについての私の検索は、これまでのところ失敗でした。

役に立ちましたか?

解決 2

解決策の始まりがあります この質問.

他のヒント

私がお勧めすることができる最善のことは、単一の行に共通の親をつかみ、それを行の残りの部分全体の基準点として使用してください。 (これらの場合 <tr>テーブルの1つ、TRにラベルを付けるか、それを呼び出すために使用できるクラスを与えます)。列の他の何かを変更する必要がある場合は、使用してください .closest 親を見つけるには、あなたが望むフィールドに戻ります。

次に、このデータが本当に動的でない限り、新しい行で使用できるローカル変数でドロップダウンの結果をキャッシュしてみてください。つまり、リクエストタイプと使用時間タイプのために常に同じエントリ(AJAXを介して取得)が常にある場合は、それをから再入力するだけです var request_typesvar use_hours_types.

第三に、使用を検討します .live これは、最初の結合後に変更された変更にもかかわらず、DOM要素に結合するためです。したがって、行の2番目の部分がドロップダウンの選択に基づいている場合は、次のようなものを使用します。

$('dropdown').live('change',function(){
   $(this).close('parent_object').filter('.corresponding_row').show();
});

(またはいくつかのファクシミリ)。

あなたが持っているコードを見ることなく、あなたが情報を収集する方法に対する別のアプローチについて考えてください。厳しい部分は、Ajaxデータを使用して各ドロップダウンを幅広く再割り当てしたくないということです(おそらく)これが現在の選択に影響するためです。そのため、可能な限りデータを保存し、新しい行を作成するときに使用します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top