テーブルをクエリして値を返すAJAX呼び出しを行うために、jQuery(およびそれに慣れていない)を使用しています。URL には時間パラメーターが含まれており、返されるのは Shift Number です。この呼び出しから返される XML は次のとおりです。
<?xml version="1.0" encoding="UTF-8"?>
<Rowsets DateCreated="2013-05-06T10:32:09" EndDate="2013-05-06T10:32:09" StartDate="2013-05-06T09:32:09" Version="1.1.1">
<Rowset>
<Columns>
<Column Description="ShiftNbr" MaxRange="1" MinRange="0" Name="ShiftNbr" SQLDataType="5" SourceColumn="ShiftNbr"/>
</Columns>
<Row>
<ShiftNbr>1</ShiftNbr>
</Row>
</Rowset>
</Rowsets>
その値ShiftNbr
(現在は 1) を取得し、それを使用して別のテーブルにクエリを実行し、値を返してページのドロップダウン ボックスに入力します (ShiftNbr は where 句のパラメーターとして使用されます)。その同じ値 (1) は、(日付値に加えて) 別のテーブルをクエリして、指定された日付とシフト番号についてそのテーブル内のすべてのアイテムを返すためにも使用されます。2 番目のクエリは、返されたアイテムを jqGrid にロードします。最初のクエリを作成して、document.ready 関数で Shift Nbr を返します。
ページが読み込まれるたびに、またはページの送信ボタンがクリックされるたびに、すべてを実行する必要があります (時間を取得し、ドロップダウンの値を返し、グリッドに入力します)。
ここで迷ってしまいます。これを行う方法は、コールバック内でアクションを実行することだと思います。最初の ajax 呼び出しには、2 番目の ajax 関数を呼び出した成功関数 ( & ドロップダウンをロードする) があり、3 番目の ajax を呼び出した成功関数があります。関数 ( & jqGrid を読み込みます)。
これは正しいアプローチですか、それとも別の方法を検討する必要がありますか?