使用GWT Bootstrap显示不确定的复选框

时间:2015-07-23 15:35:51

标签: css twitter-bootstrap gwt checkbox

我希望能够在GWT中将Bootstrap复选框设置为“indeterminate”状态。我写了以下代码:

/**
 * JavaScript to give an ID'd element in a form the focus
 * 
 * @param checkbox      Element to manipulate
 * @param indeterminate True if indeterminate, false if not
 */
public static native void setIndeterminate (Element checkbox, boolean indeterminate) /*-{
    checkbox.indeterminate = indeterminate;
}-*/;

在Chrome中运行此调试器,调试器告诉我复选框设置为indeterminate = true,但仍显示为未选中。当我显示this page时,我正确地看到了不确定的复选框,因此这不是浏览器问题。

有关如何解决此问题的任何建议吗?

2 个答案:

答案 0 :(得分:0)

为什么你想要JSNI代码?

您可以使用以下

Checkbox checkbox = new Checkbox("Some-Label");
checkbox.getElement().setAttribute("indeterminate", true /*Or false*/);

修改

刚查看了一些文档和博文。显然,GWT不支持复选框中的不确定性。显然有一种解决方法。

每当您想要不确定的值时,请将复选框设置为null。然后使用CSS技巧来设置复选框的样式。

答案 1 :(得分:0)

对于GWT和GWT Bootstrap,Checkbox是一个span,其第一个元素是输入复选框。所以这个问题就解决了:

import com.google.gwt.dom.client.Element;

Element    element = checkbox.getElement ();
Element    child = element.getFirstChildElement ();
if (child != null)
    element = child;

setIndeterminate (element, indeterminate);