2012-03-30 23 views
0

當頁面加載時,如何禁用g:datePicker?Grails:禁用g:datePicker

假設代碼在變量(isCurrent)爲true時禁用datePicker。

<g:if test="${!isCurrent}"> 
        <g:datePicker name="endDate" precision="month" value="${projectInstance?.endDate}" years="${2005..2050}"/> 
       </g:if> 
       <g:else> 
        <g:datePicker name="endDate" precision="month" value="${projectInstance?.endDate}" years="${2005..2050}" disabled="disabled"/> 
       </g:else> 

回答

0

不要在您的<克創建日期選擇器:別的> 。只需創建一個隱藏的輸入。如果您希望它看起來與禁用的日期選擇器相同,則可以在沒有輸入元素的情況下構建它,以便它僅顯示。

0

disabled="disabled"是select not datepicker的屬性。 Datepicker不會將該屬性傳遞給您的選擇標籤。但是,你可以做的是使用JavaScript禁用你的選擇。例如,如果你使用的是jQuery,你可以這樣做:

note:在我的例子中,isCurrent是相應的字符串更改。把它放在datepicker標籤後面的html主體中。

<script type="text/javascript"> 
    if ("${isCurrent}"=='true'){ 
     alert("${isCurrent}"); 
     $("#endDate_month").attr('disabled','disabled') 
     $("#endDate_year").attr('disabled','disabled')    
    } 
</script> 

或者直接使用select標籤。

0

你也可以計算機wheater或不是你想禁用支持控制器中的日期選擇器,並將其傳遞到日期選擇器標記。

view.gsp

<g:datePicker disabled="${diabled}" .... /> 

controllerView.groovy

def view = { 
disabled = true 
if (isCurrent) 
    disabled = false 
[disabled, disabled] 
} 

以上javascript調用很好地工作,以及