未正确添加列表视图的复选框
Checkbox to listview not added properly
我想创建一个带有图像和复选框的动态列表,它运行良好,但当我在函数onload中动态生成它时,它不能正确生成
我的代码在jsFiddle示例下面
在这个例子中,HTML5中有2个li,但在JavaScript中生成的第三个li没有正确生成
HTML代码:
<body>
<!-- page -->
<div id="tryhtml" data-role="page" data-palette="">
<!-- header -->
<div data-role="header" data-position="fixed">
<h1>Application</h1>
</div><!-- /header -->
<div data-role="content">
<ul data-icon="none" id="FB" data-role="listview" data-inset="true" data-theme="c" data-dividertheme="a">
<li data-role="list-divider">Overview</li>
<li>
<input type="checkbox" name="checkbox-1a" id="checkbox-1a" class="custom" data-iconpos="right"/>
<label for="checkbox-1a"><img src="https://fbcdn-profile-a.akamaihd.net/hprofile-ak-ash4/261025_100001129460073_937883521_q.jpg" style="margin-right:20PX; float:left" width="35" height="35"/>Cheetos dffaf</label>
</li>
<li>
<input type="checkbox" name="checkbox-2a" id="checkbox-2a" class="custom" data-iconpos="right"/>
<label for="checkbox-2a"><img src="https://fbcdn-profile-a.akamaihd.net/hprofile-ak-ash4/261025_100001129460073_937883521_q.jpg" style="margin-right:20PX; float:left" width="35" height="35"/>Cheetos dffaf</label>
</li>
</ul>
</div>
</div><!-- /page -->
</body>
js文件中的Onload函数:
var tag = '<li><input type="checkbox" name="checkbox-5a" id="checkbox-5a" data-iconpos="right"/><label for="checkbox-5a"><img src="https://fbcdn-profile-a.akamaihd.net/hprofile-ak-ash4/261025_100001129460073_937883521_q.jpg" style="margin-right:20PX; float:left" width="35" height="35"/>Roy dffaf</label></li>';
$('#FB').append(tag);
$('#FB').listview('refresh');
工作示例:http://jsfiddle.net/brBdD/21/
var tag = '<li><input type="checkbox" name="checkbox-5a" id="checkbox-5a" data-iconpos="right"/><label for="checkbox-5a"><img src="https://fbcdn-profile-a.akamaihd.net/hprofile-ak-ash4/261025_100001129460073_937883521_q.jpg" style="margin-right:20PX; float:left" width="35" height="35"/>Roy dffaf</label></li>';
$('#FB').append(tag);
$('#FB').find('#checkbox-5a').checkboxradio().checkboxradio( "refresh" );
$('#FB').listview('refresh');
在您的情况下,.listview('refresh');
将只设置listview和listview的样式,不要忘记您还有一个要设置样式的复选框。由于jQuery Mobile的工作方式,您首先需要设置复选框的样式,然后再设置列表视图。
复选框通常用.checkboxradio( "refresh" );
设置样式,但在这种情况下,我们有一个动态创建的复选框,因此它首先需要用.checkboxradio()
初始化。
相关文章:
- 如何在Knockout.js中选中复选框时更新视图模型及其依赖项
- 检查网格视图中的复选框是否被选中
- 复选框树视图功能不起作用
- 转换复选框'在'在发布到Django视图之前,将其设置为Boolean
- 如何选中/取消选中外部按钮的网格视图复选框
- 添加具有相同类的视图复选框(Switchery)
- jQuery Mobile-过滤复选框的列表视图会导致出现无样式的复选框
- 在客户端的编辑模式下,在同一单元格网格视图中选中复选框时禁用文本框
- 如何使用javascript在选中网格视图复选框时创建表行
- 使用 javascript 在客户端的列表视图中选中所有复选框
- 从 JavaScript 中的表单视图访问复选框 asp.net
- 如何从网格视图中隐藏复选框
- “网格视图”复选框选中“所有上层和下层”
- yui树视图复选框不展开节点
- 为多个网格视图选中“验证网格视图”复选框
- 如何通过阵列手动检查树视图复选框
- 如何在剑道模板中设置带有name属性的树视图复选框
- 带有图形更新的树视图复选框选择不能正常工作
- 树视图复选框解决方案
- 树视图复选框 展开折叠