2011-05-12 119 views
5

我使用的是G:選擇標記是這樣的:的Grails G:選擇標籤

<td><g:select name="newCity" 
     id="${'newCity_' +cityData.uid}" 
     from="${cityData.name}" 
     value="${cityData.someValue}" 
     noSelection="${['null':'Select City...']}" class="newCity" /> 
</td> 

這使得下面的HTML:

<td> 
<select name="newCity" id="newCity_abc" class="newCity" > 
<option value="null">Select City...</option> 
<option value="A" >A</option> 
<option value="B" >B</option> 
<option value="C" >C-</option> 
<option value="D" >D</option> 
</select> 
</td> 

不過,我想我的HTML看起來像這樣;插入類,因爲我正在做一些JavaScript驗證:

<td> 
<select name="newCity" id="newCity_abc" class="newCity" > 
<option value="null">Select City...</option> 
<option value="A" class="populated" >A</option> 
<option value="B" class="notpopulated" >B</option> 
<option value="C" class="populated" >C</option> 
<option value="D" class="notpopulated" >D</option> 
</select> 
</td> 

這可能嗎?

我是否需要創建自定義標籤庫才能實現此目標?

任何幫助將不勝感激,謝謝!

回答

4

我不相信這是可能的。 select tag implementation(其中writes out the <option> tags)調用private method writeValueAndCheckIfSelected來填寫option,並且這不知道任何類名。

有一個2歲的New Feature Request on the Grails JIRA,但我認爲你可能被卡住滾動你自己的標籤,爲你的具體情況做到這一點。

+0

tim,任何關於如何去寫我自己的標籤的指針?謝謝! – 2011-05-12 11:40:17

+0

您應該可以執行'grails create-tag-lib',然後基本上將現有的選擇標記實現複製到您的標記中,但將這些類添加到選項中。即;這傢伙想添加optgroup來選擇:http://vivin.net/2009/02/11/creating-a-custom-select-tag-with-optgroup-in-grails/ – 2011-05-12 11:52:00

+0

有沒有辦法做到這一點委託給Grails標籤,而不是複製粘貼源代碼? – 2011-05-12 11:59:29