JQuery Mobile 1.3.0:"Uncaught Ошибка: нет такого метода" обновить "для экземпляра виджета таблицы"
Я использую jQuery mobile 1.3.0 release:"Uncaught Error: нет такого метода" refresh "для экземпляра виджета таблицы" Но в документе сказано, что его можно использовать:
Обновляет метки в ячейках.
$( 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>
1 ответ
Решение
Ваша таблица была создана динамически, поэтому сначала ее нужно инициализировать перед обновлением:
$( myTable ).table().table("refresh");
РЕДАКТИРОВАТЬ:
Рабочий пример: http://jsfiddle.net/Gajotres/Zqy4n/
Вместо:
$( myTable ).table("refresh");
спусковой крючок:
$( myTable ).trigger('create');