在我的代碼中,我有一個Struts2選擇標記(<s:select>
)。它讀取像這樣:更改struts的源代碼使用javascript/Jquery動態選擇代碼
<s:select id="s" list="list" listKey="id" listValue="displayValue">
由用戶做出了一些選擇,我想改變list
attibute的價值指向一些其他列表(可能使用JavaScript/jQuery的)
在我的代碼中,我有一個Struts2選擇標記(<s:select>
)。它讀取像這樣:更改struts的源代碼使用javascript/Jquery動態選擇代碼
<s:select id="s" list="list" listKey="id" listValue="displayValue">
由用戶做出了一些選擇,我想改變list
attibute的價值指向一些其他列表(可能使用JavaScript/jQuery的)
您至少有兩種方法可以做到這一點:
1)執行一個AJAX操作以獲取新的數據(JSON例如,像「ID」和「說明」)的列表; 然後改變支持JavaScript的HTML,從Select
, 建築拆除舊Options
並添加新Options
到Select
, 並最終改變一些Select
屬性;
2)執行AJAX操作以獲得全新的Select
,精心製作的服務器端,作爲HTML代碼片段返回(僅包含一個<s:select>
的JSP); 然後將其替換爲頁面上的原始頁面,例如使用其容器(如div
)作爲AJAX操作的目標。
* @AshishGupta建議我刪除「您嘗試過什麼?」部分爲保持音調爲正。請閱讀文章,這是一個必須瞭解爲什麼這應該永遠是第一個(積極和合法)問題誰不郵編的代碼(爲他們自己的第一位)。
希望能夠幫助我,正如我的答案的其餘部分。
如果您想使用JS/jQuery,那麼它是一個前端問題,因此請粘貼呈現的html並顯示您使用jQuery嘗試的內容。 – Quaternion
你爲什麼需要這樣的東西?我只是好奇。 –
請注意,由於Struts在準備頁面(服務器端)時使用列表屬性,所以在頁面呈現(客戶端)之後,您無法真正「重定向」列表。在客戶端,你可以操縱生成的html。假設你不想發送一個新的(非AJAX)請求到服務器並重新連接整個頁面,你的選項基本上是Andrea在下面描述的。 – Christina