要創建jQuery Mobile文本輸入樣式,請使用.textinput()
並刷新您使用的現有jQuery Mobile文本輸入的視圖.textinput("refresh")
。因此,在隨後的調用中,您需要使用.textinput("refresh")
方法,並且在未初始化的文本輸入中,您需要使用.textinput()
。
喜歡的東西:
$('#editPartyName').val(party.name).textinput('refresh');
我的經驗是選擇輸入,但我相信這是對文本輸入相同的,這裏是我做選擇更新視圖:
$("select#foo").selectmenu("refresh");
這示例來自文檔:http://jquerymobile.com/demos/1.0b1/docs/forms/forms-selects.html(頁面底部)
更新
你不應該需要做以外的任何其他改變輸入元素的值:
$('#editPartyName').val(party.name)
下面是使用jQuery Mobile的1.1.0演示:http://jsfiddle.net/VbAKL/
,這裏是使用jQuery演示Mobile 1.0B1:http://jsfiddle.net/VbAKL/1/
由於您是通過ID進行選擇,並且DOM中可能同時存在多個ID實例,所以很有可能會創建此問題。 jQuery Mobile網站一次可以在DOM中包含多個「僞網頁」,並且如果每個網頁中的元素的編號爲#header
,那麼當您嘗試運行#header
的選擇時,只會返回第一個實例。所以你的$('...').val(...)
函數調用可能正在工作,而不是正確的元素。
簡答:使用jQuery Mobile時,請確保您的ID在您網站的所有頁面中都是唯一的。
當通過'.val(「」)'編程設置值並發現調用'.focus()時,我有'後期造型'問題。blur()'解決了它。 – pstanton