使用UI:Binder。jQuery + GWT設置複選框狀態
<div data-role="fieldcontain">
<fieldset data-role="controlgroup">
<input type="checkbox" ui:field="uniqueID" class="custom" />
<label for="uniqueID"><ui:text from="{res.text}"></ui:text></label>
</fieldset>
</div>
而且 checkboxNewsletter.setId("uniqueID");
,因爲不幸的是你不能設置界面::場和身份證同時
的複選框被實現爲以下。
我試圖用
@UiField InputElement checkbox;
checkbox.setChecked(true);
沒有工作設置的複選框。所以我試圖JSNI直接訪問jQuery的JS:
public static native void setCheckBoxStatus(String id, Boolean isChecked)/*-{
$wnd.jQuery('input[name='+id+']').attr('checked', isChecked);
}-*/;
...它沒有工作要好得多。
任何人都知道如何解決這個問題? jQuery似乎重寫了GWT複選框;生成的HTML有點奇怪,似乎由兩個複選框元素組成。刪除jQuery疊加層時,您可以看到原始(並正確選中)的元素。
setValue方法是基本相同setChecked,已經嘗試過(複選框以及InputElement)當然。這裏的問題是,jQuery似乎有點用jQuery的HTML/CSS覆蓋GWT內部複選框。因此,setValue方法將不會正確顯示在屏幕上。 – 2012-03-13 10:20:13