我使用的是jQuery mobile 1.3.0版本:“未捕获错误:表格小部件实例没有这样的方法'刷新'” 但是医生说可以使用它:
更新单元格中的标签。
$( myTable ).table( "refresh" );
如何解决问题? 有没有办法让单元格中的标签刷新?
<div data-role="content" >
<table id="tableProp" data-role="table" data-mode="Reflow" class="ui-body-d ui-shadow table-stripe ui-responsive" data-column-popup-theme="a">
<thead>
<tr class="ui-bar-d">
<th data-priority="2" style="text-align: center">Test1</th>
<th style="text-align: center">Test2</th>
<th data-priority="3" colspan=2 style="text-align: center">Test3</th>
</tr>
</thead>
<tbody id="tbProp">
</tbody>
</table>
<a href="javascript:clickBtn()">Table test</a>
</div><!-- /content -->
</div><!-- /page -->
<script>
function clickBtn()
{
var tb = $('#tbProp'),
newRow = '<tr><th style="text-align: center;vertical-align:middle">' + 'Test11' + '</th> <td style="text-align: center;vertical-align:middle">' + '23.3'+ '</td><td style="text-align: center;vertical-align:middle"><a href="#" data-role="button" data-mini="true">Test22</a></td><td style="text-align: center;vertical-align:middle"><a href="#popupLogin" data-rel="popup" data-position-to="window" data-role="button" data-mini="true">Test33</a></td></tr>',
newBody = "";
for (var i = 0,
l = 6; i < l; i += 1) {
newBody += newRow;
}
tb.empty()
.append(newBody);
$("#tableProp").table("refresh");
}
</script>
答案 0 :(得分:5)
您的表是动态创建的,因为它首先需要在刷新之前进行初始化:
$( myTable ).table().table("refresh");
编辑:
工作示例:http://jsfiddle.net/Gajotres/Zqy4n/
而不是:
$( myTable ).table("refresh");
触发:
$( myTable ).trigger('create');