2013-07-22 82 views
0

我將動態添加一些文本框到我的頁面。 它完美的作品,但我得到了標準的HTML文本框。 我想要一個jQuery風格的文本框。使用jQuery Mobile風格動態添加文本框

output += "<li><table><form id='elementForm'><tbody>"; 
output += "<tr><td><label>" + metaLabel[j] + " </label></td>"; 
output += "<td><input type='text' name='text-1' id='text-1' value=" + ajaxDataRecordSet.recordset[clicked][testVar] + "></td></tr>" 
output += "</tbody></form></table></li>"; 
$(output).appendTo("#content1"); 
$('#content1').listview('refresh'); 

我該怎麼做?

+0

我正在使用jquery mobile。 –

回答

2

如果您使用的是listview我認爲您的意思是jQuery Mobile?您還需要調用textinput()上的任何輸入文本字段刷新他們:

$("#content1 :text").textinput(); 

由於documentation for textinput狀態:

這個插件會自動包含一個文本 或任何的任何頁面上初始化文本輸入類型,而不需要標記中的 數據角色屬性。然而,如果需要的話,您可以直接 調用上的任何選擇將TextInput插件,就像任何 jQuery插件

+0

作品完美:)謝謝。非常有幫助你。 –

+0

是否有任何方法來清除標籤中的相同問題? –

+0

如果它不存在,您可以根據Vinod的答案在所有新創建的元素上調用'.trigger(「create」)'。 – CodingIntrigue

2

你必須使用$('#elementID').trigger("create"),使其工作。

+0

觸發'create'方法*初始化* listview。在這個階段,listview已經被初始化了,所以他需要調用'refresh'。 – CodingIntrigue