iT邦幫忙

0

初學Primefaces,請教語法問題

以下的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事件就好?

尚未有邦友回答

立即登入回答