2012-11-28 24 views
0

在我的代碼中,我有一個Struts2選擇標記(<s:select>)。它讀取像這樣:更改struts的源代碼使用javascript/Jquery動態選擇代碼

<s:select id="s" list="list" listKey="id" listValue="displayValue"> 

由用戶做出了一些選擇,我想改變list attibute的價值指向一些其他列表(可能使用JavaScript/jQuery的)

+3

如果您想使用JS/jQuery,那麼它是一個前端問題,因此請粘貼呈現的html並顯示您使用jQuery嘗試的內容。 – Quaternion

+0

你爲什麼需要這樣的東西?我只是好奇。 –

+0

請注意,由於Struts在準備頁面(服務器端)時使用列表屬性,所以在頁面呈現(客戶端)之後,您無法真正「重定向」列表。在客戶端,你可以操縱生成的html。假設你不想發送一個新的(非AJAX)請求到服務器並重新連接整個頁面,你的選項基本上是Andrea在下面描述的。 – Christina

回答

0

What have you tried ? *。

您至少有兩種方法可以做到這一點:

1)執行一個AJAX操作以獲取新的數據(JSON例如,像「ID」和「說明」)的列表; 然後改變支持JavaScript的HTML,從Select, 建築拆除舊Options並添加新OptionsSelect, 並最終改變一些Select屬性;

2)執行AJAX操作以獲得全新的Select,精心製作的服務器端,作爲HTML代碼片段返回(僅包含一個<s:select>的JSP); 然後將其替換爲頁面上的原始頁面,例如使用其容器(如div)作爲AJAX操作的目標。


* @AshishGupta建議我刪除「您嘗試過什麼?」部分爲保持音調爲正。請閱讀文章,這是一個必須瞭解爲什麼這應該永遠是第一個(積極和合法)問題誰不郵編的代碼(爲他們自己的第一位)。

希望能夠幫助我,正如我的答案的其餘部分。