看板 Ajax 關於我們 聯絡資訊
以下的primefaces code, 可以做出讓calendar的起始日期、到期日期範圍被限制在一個範圍的效果, 例如起始日期選擇2020/6/27,那麼到期日期就只能從2020/6/27開始選擇, 6/26以前的日期不能選;或是到期日期選擇2020/6/25, 那麼起始日期就只能從2020/6/24之前開始選: ※程式碼: <p:column> <p:calendar id="fromDate" showOn="both" value="#{testAction.fromDate}" binding="#{fromDate}" maxdate="#{toDate.value}"> <p:ajax event="dateSelect" partialSubmit="true" process="@this, toDate" update="@this, toDate" /> <p:ajax event="change" partialSubmit="true" process="@this, toDate" update="@this, toDate" /> </p:calendar> </p:column> <p:column> <p:calendar id="toDate" value="#{testAction.toDate}" showOn="button" binding="#{toDate}" mindate="#{fromDate.value}"> <p:ajax event="dateSelect" partialSubmit="true" process="@this, fromDate" update="@this, fromDate" /> <p:ajax event="change" partialSubmit="true" process="@this, fromDate" update="@this, fromDate" /> </p:calendar> </p:column> 看起來是primefaces ajax的功能, 不過在這邊ajax的設定,除了設定觸發的事件外, 只是將日期所在的欄位id,透過process屬性,餵進ajax, 並透過partialSubmit屬性提交欄位值,也就是起始日期與到期日期; 並且透過update屬性,設定要刷新的欄位id。 除此之外並沒有設定對應的code來處理提交的欄位值, 那麼提交出去的欄位是如何處理的呢?是利用 primefaces ajax或calendar自身的設定或功能來處理嗎? 還有為甚麼觸發的事件會用到dateSelect、change這兩個?? 日期改變就要能自動修改日期範圍不是嗎?那不能只用change事件就好? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.241.215.11 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/java/M.1593691750.A.892.html ※ 編輯: lueichun (111.241.215.88 臺灣), 07/02/2020 20:41:03