2014-04-03 81 views
0

我正在使用jQuery Mobile增強型GWT並有一個複選框。但是,當我設置GWT複選框使用正常check.setValue(false);它設置值,但不會改變jQM增強顯示。更新jQuery Mobile複選框(帶GWT)

我已經嘗試過刷新和prop/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

+1

你撥弄了幾次失誤,這是工作:http://jsfiddle.net/ezanker/38uch/6/ – ezanker

+0

@ezanker是的,我知道。不是運行代碼而是工作的基礎。當你的小提琴奏效時,我注意到當你重寫它時,你有一點被欺騙了。例如,您使用運行時未知事物的知識。 – liftarn

回答

0

這是一個有點棘手。首先你必須得到輸入元素。做到這一點的方法之一是(其中w爲您的複選框):

NodeList<Element> nl = w.getElement().getElementsByTagName("input"); 
Element e = nl.getItem(0); 

現在你有input元素,並能得到使用的getId()

然後你只是做一個本地函數回吐ID ID和布爾值和做

$wnd.$("#" + id).prop("checked", false).checkboxradio("refresh");