2014-10-17 81 views
0

Iam通过循环创建复选框(请参见图片)。如何取消激活aui功能:复选框标签?

<%for(String s : mSeriesIDs_cfg) { %> 
<aui:input type="checkbox" name="checkboxGroup" label="<%=s%>" value="<%=GetterUtil.getString(portletPreferences.getValue(s, defaultSerieConfig))%>" /> 
<%} %> 

enter image description here

的复选框本身工作正常,但如果我点击复选框的标签(名称)上,第一个复选框被激活/停用(图中,如果我点击名称'Messreihe4',第一个复选框更改为取消选中)。 如何停止此功能?

+0

这就是标签的功能。你可以声明你自己的标签,它不会使用标签,而是其他的东西。或者删除标签并将此文本添加到您的复选框旁边。 – Beri 2014-10-17 08:03:37

+0

我不认为标签在正常情况下具有功能。我无法删除标签标签,否则aui会自动将标签名称作为标签,这会更糟糕。我从来没有创建过自己的标签,它有多复杂? – JeromeC 2014-10-17 09:55:15

回答

1

请按照下列:

(1)创建没有标签的复选框。

(2)文本添加到复选框的右(在文本框或其他方式)

(3)现在对齐它们彼此相邻

(4)现在,这应该删除的功能。


(注意,这是一个jsfiddle example,但类似的设计/实施也应适用于JSP)

左右;

<input type="checkbox" /><a>Label 1</a> 
    ^     ^
     |      | 
    checkbox with no label  | 
          | 
       single label placed next to checkbox 
+0

这有效,但不适用于aui-elements。我想留下来,因为iam会尽全力做到这一点。另一个非aui-solutin是:

JeromeC 2014-10-17 09:46:04

+0

为什么它不适用于aui-elements? – 2014-10-17 09:58:51

0

@MrCoder:'aui:input'需要名称标签,如果没有定义标签标签,它就是标签的自动标签。 我与您的解决方案的帮助下解决了这个问题:

<%for(String s : mSeriesIDs_cfg) { %> 
    <table> 
     <tr> 
      <td> 
       <aui:input type="checkbox" name="checkboxGroup" label="" value="<%=GetterUtil.getString(portletPreferences.getValue(s, defaultSerieConfig))%>" /> 
      </td> 
      <td> 
       <%=s%> 
      </td> 
     </tr> 
    </table> 
<%} %> 

我刚刚添加的标签标记没有内容。 这不是一个干净的解决方案,但迄今为止效果最好。