私は3つのhtml selectコントロールを持つstruts2プロジェクトに取り組んでいます。最初の選択は国、2番目は国家、3番目は都市です。状態選択のオプションリストは、その国の状態のみを表示するようにフィルタリングされます。他のいくつかの制限のため、私はstruts2の代わりに基本的なhtml selectコントロールを使用しています。ここで私は、現在の選択を移入していますかのサンプルです:struts2:javascriptとjqueryを使用して最初の選択値に基づいてセカンドセレクトを更新します。
<select id="stateSelect" name="selectedState">
<s:iterator value="#session['myModel'].states" status="itr">
<option value="<s:property value="code"/>">
<s:property value="label"/>
</option>
</s:iterator>
</select>
私は私が行う必要があることのonchangeイベントを選択し、「国」に基づいて「状態」のリストを取得するために、AJAX呼び出しを行うことであると思います。質問は以下の通りです:
1. jQueryを使用してこのajax呼び出しを行うにはどうすればよいですか?
2. ajax呼び出しのURLとして渡す必要があるのは何ですか?アクション名だけ?
3.結果を解析するにはどうすればよいですか? Javaコードから、 "コード"と "ラベル"と他のプロパティを持つ "State"オブジェクトのリストを返すことができます。どのように私はjavascriptでこのリストを解析し、selectタグのための適切なオプションを生成できますか?
これまではこれを行っています。私はjonathanがstruts2-json-plugin(使用するのはかなり簡単です)の使用を推奨しています。使用するアクションはjson文字列を返します。 chromeを使用すると画面上に表示され、firefoxではfirebugを使用して表示されます。 jsonの場合、おそらくjQueryの$ .getJSON()を使用しています。このページのcatの例は、起動時に多くの助けになりました。http://api.jquery.com/jQuery.getJSON/あなた自身のページにコピーすることができます。それはjsonを使い、猫はちらつきのウェブサイトから離れて、サーバーを必要とせずにjsonで作業できるようにします。 – Quaternion