2

我使用 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>
4

1 回答 1

5

您的表是动态创建的,因为它首先需要在刷新之前进行初始化:

$( myTable ).table().table("refresh");

编辑 :

工作示例:http: //jsfiddle.net/Gajotres/Zqy4n/

代替:

$( myTable ).table("refresh");

扳机:

$( myTable ).trigger('create');
于 2013-04-02T07:33:37.037 回答