我有一個包含大量項目的頁面,使用表格形式生成。這是預算分錄表。每個預算分錄可能是單個年度預算金額,也可能是一組12個月度預算金額。在頁面上顯示一個項目的一個值,但發佈一個不同的值
我已經用「金額類型」選擇列表實現了這個選擇列表,它是「年」或「月」,後面是13個項目 - 年度金額,然後是每年的12個金額。
如果金額類型爲YEAR,或用戶將其更改爲YEAR,則啓用年金額項目並且每月金額被禁用。
如果金額類型爲MONTH,或者用戶將其更改爲MONTH,則會關閉年金額項目(同時仍顯示已輸入的值)。
但是,「禁用」項目後面的值仍然很重要,它必須在頁面提交時發佈;這是因爲如果用戶從MONTH回到年份,他們原來的年度預算就會恢復。
現在,以上所有的偉大工程。我想補充的是:
- 如果金額類型是一個月,我想動態顯示內(或者之上)的(禁用)中的全部項目每月每年金額項目;
- 如果金額類型爲YEAR,我想動態地輸入年度金額,除以12,並在每個(禁用)月度項目中顯示結果。
但是,我不想更改每個禁用項目的基礎值;當頁面發佈時,應保留禁用項目的原始值,而不是計算的版本。
例如,假設用戶具有Amount Type = YEAR的預算分錄,每年輸入(並保存到數據庫)的金額爲120,000美元。數據庫中的所有月度金額將初始爲NULL。
現在,用戶更改金額類型= MONTH,導致年金額項目被禁用。它們輸入一定量,例如7月份爲1000美元,8月份爲2000美元。當他們保存更改時,數據庫將存儲(MONTH,100000,1000,2000,null,... null) - 換句話說,我保留了舊的年度金額(萬一用戶翻轉回年度預算)。但爲了顯示目的,我希望年度項目顯示3000美元。
我的問題是,如果我添加一些JavaScript來填充所有月度數字的總和年度金額項目,我會覆蓋$ 100,000,如果用戶翻轉回年,它不會「恢復」他們原來的年度預算金額。
允許用戶在YEAR和MONTH之間來回翻轉,併爲兩種類型輸入值;用戶輸入的所有值都必須保存到數據庫中。
所以我想在屏幕上顯示一個值,同時在頁面發佈時保留底層項目的原始值。
請注意,我的JavaScript技能是有限的 - 到目前爲止我所做的是基於大量的谷歌搜索。
TL;博士
我想一個輸入項,當只讀的,顯示在頁面上的一個值,但職位當頁面提交不同的值。
的Oracle APEX 4.1
注:該解決方案必須與IE7,這是國有企業在這裏工作。
這是一個手動表格形式,還是一個嚮導生成的? – Tom
嚮導生成 –
另外:比方說,用戶輸入一年的金額和沒有月份的金額。保存。顯示年份數量,並顯示月份值(年/ 12)而不是空值。現在用戶將類型翻轉爲月份而不是年份,禁用年份和啓用月份。八月份的價值發生了變化。保存。問:現在只有8月才能得救?繼續:八月的變化也改變了總數,假設沒有保存完成。用戶每月翻轉一次。保存。問:哪個值?問:如果用戶確實改變年度金額,八月的價值會發生什麼變化? – Tom