Использование пользовательского интерфейса: Binder.jQuery + GWT set checkbox status
Флажки реализованы следующим образом:
<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");
, потому что, к сожалению, вы не можете установить Ui: поле и ID одновременно.
Я попытался установить флажки с
@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 выглядит странно и, кажется, состоит из двух элементов checkbox. Вы можете увидеть оригинальный (и правильно проверенный) элемент при удалении наложения jQuery.
SetValue в основном такая же, как setChecked, уже пробовал (CheckBox, а также InputElement) конечно. Проблема здесь в том, что jQuery вроде бы переопределяет внутренние флажки GWT с помощью HTML/CSS jQuery. Следовательно, методы setValue не будут отображаться должным образом на экране. –