我正在使用jQuery Mobile增强型GWT并有一个复选框。但是当我使用普通 check.setValue(false); 设置GWT复选框时,它会设置值,但不会更改jQM增强显示。
我已经尝试过刷新和道具/ attr的各种组合,但它们似乎都没有做任何事情,或者因为没有初始化的消息而失败。
代码是$('input[name="gwt-debug-cwCheckBoxMonday"]').prop("checked", true).checkboxradio('refresh');
我痛苦地使用$("input[type='checkbox']").checkboxradio("refresh");
工作,但我只想针对特定的一个而不是每一个。
我在http://jsfiddle.net/liftarn/38uch/做了一个小提琴来说明问题。
HTML来自http://gwt.googleusercontent.com/samples/Showcase/Showcase.html#!CwCheckBox
答案 0 :(得分:0)
这有点棘手。首先,你必须得到输入元素。一种方法是(其中w是你的CheckBox):
NodeList<Element> nl = w.getElement().getElementsByTagName("input");
Element e = nl.getItem(0);
现在你有了input元素并且可以使用 getId()
来获取id然后你只需要创建一个带有id和boolean值的本机函数,然后执行
$wnd.$("#" + id).prop("checked", false).checkboxradio("refresh");