我有t:選擇兩個值 - 通道,小工具。如果我選擇第一個,我將顯示包含所有頻道的調色板並隱藏小部件調色板(在區域中),如果我選擇第二個,我將隱藏頻道調色板區域和顯示小部件調色板區域。這兩個調色板都預選了從數據庫加載的項目。 selectedWidgets,selectedChannels都被註釋爲@Persist。問題是客戶想要刪除選定的小部件,然後切換到渠道並添加它們,所以有兩個操作。如果他然後保存,刪除的小部件仍然存在,並正確添加通道。這是可以解決的嗎?可否在Tapestry 5.3.6中選擇提交調色板值?
回答
如果我理解正確,您需要爲表單提交上的兩個調色板保存值。所以這兩個調色板應該出現在表單上。
要解決這個問題,您可以隱藏一個調色板並在選擇值更改時顯示另一個調色板。無需服務器端的操作(並且不需要太區):
<t:select t:id="select" .../>
<t:palette id="widgets" .../>
<t:palette id="channels" .../>
和JS使用jQuery:
var $select = $('#' + selectId);
var $widgets = $('#' + widgetsId);
var $channels = $('#' + channelsId);
$select.on('change', function() {
if ($select.val() == 1 /* or another value corespondent to channels */) {
$widgets.hide();
$channels.show();
} else {
$widgets.show();
$channels.hide();
}
});
兩個區域ajaxResponseRenderer.addRender()感謝sody。基本上,我不僅需要在表單提交後保存值,而且還需要在使用select切換調色板時保留值。這對我不起作用 – MartinC
仍然不明白你需要什麼。如果在選擇值更改後需要將值保存到數據庫,則需要提交表單。或者你可以寫js,它會從url中更新你的區域,並且從調色板選擇值中填充額外的請求參數。 – sody
好的,我會再解釋一遍。讓我們假設堅持是殘疾的。 使用上述元素打開網頁,並從數據庫中預加載所選項目。例如。 2個頻道和3個小工具。最初顯示小部件調色板,預選3個項目,選擇值爲WIDGETS。 然後,我添加2個小部件並切換到CHANNELS。 會發生什麼是: 1.通道是空的,應該有兩個 2.如果我切換回部件,部件也是空的 – MartinC
感謝sody,我設法解決這個問題。 第一個主要部分是擺脫區域,只是有一個組件的形式,並提交整個事情一次,第二個主要部分是觸發在適當的時間由索迪提到的JavaScript。 如果我有時間,我會粘貼我的tml,java和javascript代碼,我相信有人會幫我把它清理乾淨。
- 1. Tapestry 5.3.6在IE中拖動滾動條時選擇組件會消失
- 2. 在提交表單之前,有什麼方法可以知道在調色板中選擇了哪些值?
- 3. 提交選擇選項值
- 4. Wicket調色板和選擇
- 5. 如何在鼠標懸停時在Tapestry 5.3.6調色板組件中顯示選項文本的工具提示(標題)?
- 6. 訪問Tapestry 5.3.6中的Tapestry JavaScript對象(曾經是$ T,現已棄用)
- 7. JComboBox提交價值喜歡HTML選擇
- 8. Wicket:調色板設置默認選擇
- 9. 後提交,選擇
- 10. PHP提交選擇
- 11. 是否可以在輸入類型中調用預設的顏色調色板而不是標準調色板?
- 12. iOS6中的社交共享調色板
- 13. 提交後保留選擇框值
- 14. jQuery Select2 - 選擇ajax提交的值
- 15. 選擇二提交值,而不是ID
- 16. jquery動態選擇不提交值
- 17. 通過選擇框提交值(php)
- 18. 提交選擇(Yii)
- 19. 顏色選擇器(調色板)顯示所有顏色
- 20. 表單提交後選擇值爲空
- 21. 獲取選擇框的值上提交
- 22. 選擇框的值後提交
- 23. 提交後保持選擇可見
- 24. 使用AJAX選擇值提交PHP
- 25. 單選按鈕返回舊值,如果以前選擇 - 提交,現在取消選中 - 在struts2中提交
- 26. 選擇選項,在提交前獲取選項值
- 27. 如何從非調色板元素的調色板中選取顏色?
- 28. 無選擇從html提交選擇,但使用href和不值?
- 29. 用戶是否可以取消選擇微調器中的值?
- 30. 提交後保持最近選擇的選擇框值?
我還注意到,從數據庫加載持續持久狀態,而不是實際選定的狀態。 好的,我已經刪除了Persist註解,現在唯一的問題是,我選擇時切換選擇調色板時丟失值。 – MartinC
只是爲了增加,當選擇從值切換到另一個,我做服務器端 – MartinC