我正在一個struts2項目,我有3個html選擇控件每個依賴於以前的選擇。假設第一個選擇是針對國家,第二個針對國家,第三個針對城市。狀態選擇中的選項列表將被過濾以僅顯示該國家的狀態等。由於其他限制,我使用的是基本的html選擇控件而不是struts2。下面是我當前如何填充選擇一個樣本: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代碼中,我可以返回具有「代碼」和「標籤」以及其他屬性的「狀態」對象列表。我該如何解析JavaScript中的這個列表併爲select標籤生成適當的選項?
我以前做過這個。我會做jonathan建議使用struts2-json-plugin(它非常易於使用),使用它的動作會返回一個json字符串。如果你使用chrome,你會在屏幕上看到它,用firefox你會看到它使用螢火蟲。有了json,你可能會使用jQuery的$ .getJSON()這個頁面上的cat示例在啓動時幫助了我很多:http://api.jquery.com/jQuery.getJSON/您可以將它複製到您自己的頁面中,它將使用json和cat圖像離開閃爍的網站,讓你使用json而不需要服務器。 – Quaternion