当您动态加载前两个时,您的所有 CSS 都没有被应用。
添加.trigger("create")
在获取添加内容的元素上。
见这里:jQuery Mobile 在动态添加内容后不应用样式
更新
但是,如果您在客户端生成新的标记或通过 Ajax 加载内容并将其注入页面,则可以触发 create 事件来处理新标记中包含的所有插件的自动初始化。这可以在任何元素(甚至是页面 div 本身)上触发,从而为您节省手动初始化每个插件(listview 按钮、选择等)的任务。
例如,如果通过 Ajax 加载了 HTML 标记块(例如登录表单),则触发 create 事件以自动将其包含的所有小部件(在本例中为输入和按钮)转换为增强版本。这种情况的代码是:
$( ...new markup that contains widgets... ).appendTo( ".ui-page" ).trigger( "create" );
更新#2
// HTML
<a id="myButton" href="" data-role="button" data-theme="e">Add Radio</a>
<div id="radiodiv1">
<fieldset id="surveyViewer" data-role="controlgroup"></fieldset>
</div>
// JS
$( "#myButton" ).bind( "click", function(event, ui) {
$("#surveyViewer").append('<legend>Survey Preview:</legend><input type="radio" name="options" id="1" value="1" /><label for="1">1</label><input type="radio" name="options" id="2" value="2" /><label for="2">2</label>');
$("#radiodiv1").trigger("create");
});
我创建了一个 JSfiddle 来说明一个解决方案。我在我的 iPad 上完成了所有这些(不客气),所以如果这对你有用,请至少将其标记为正确答案哈哈。这是链接(基于通过单击按钮添加单选按钮)
工作示例:http: //jsfiddle.net/nsX2t/