2011-05-12 117 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