android - 添加动态数据时出现问题

标签 android jquery jquery-mobile jquery-plugins footable

我在 jQuery Mobile 方面需要一点帮助 Foo Table . 我在表格中动态添加数据。

HTML:

    <table id="tblSRNDetails" class="footable">
        <thead>
            <tr>
                <th data-class="expand">SRN</th>
                <th >Failure Date</th>  
                <th >Complaint Report Date</th>                 
                <th>Promised Date</th>  
                <th >Customer Name</th>
                <th >Log Time</th>
                <th >Create FSR</th>    
                <th  data-hide="phone,tablet">Days Open</th>        
                <th  data-hide="phone,tablet">SRN Allocated Time</th>   
                <th  data-hide="phone,tablet"> SRN Status</th>  
                <th  data-hide="phone,tablet"> ESN Number</th>  
                <th  data-hide="phone,tablet"> Request Type</th>    
                <th  data-hide="phone,tablet">Service Request Details</th>                          
            </tr>
        </thead>
        <tbody>
        </tbody>
    </table>

js代码:

$("#page-id").live('pagebeforeshow', function() {
    console.log("Page before show");
    $("#tblSRNDetails > tbody tr").remove();
    for (var indx = 0; indx < 2; indx++ )
    {
        $("#tblSRNDetails > tbody").append("<tr>"+
        "<td>Name</td>"+
        "<td>failureDate</td>"+
        "<td>complaintReportDate</td>"+
        "<td>promisedDate</td>"+
        "<td>custName</td>"+
        "<td><a href='#'><b>Log Time</b></a></td>"+
        "<td><b>Create FSR</b></td>"+
        "<td>daysOpen</td>"+
        "<td>allocatedTime</td>"+
        "<td>srn_status</td>"+
        "<td>ESNNumber</td>"+
        "<td>requestType</td>"+
        "<td>customerComplaint</td>"+
        "</tr>");   
    }
    $('#tblSRNDetails').footable();
});

有了这个 FooTable 在第一次打开时会被正确应用。如果我单击主页按钮并返回,然后再次进入该页面,则 FooTable 未正确应用。

截图:

enter image description here

所以我当时面临的问题包括:

  1. 显示隐藏字段。 (意味着 Footable 不适用): 此问题在设备中更改方向两次后得到解决。

  2. 第一个字段不再包含 Data Expand 按钮(意味着 Footable 未应用):

我认为问题是因为我删除了旧行并添加了新行。我试过没有给删除电话。那时,旧行可以正常显示。如屏幕截图所示,新添加的字段存在问题。

有人可以帮我解决这个问题吗?

P.S:我在 android webview 中渲染它。同样的问题也在浏览器中重现。

最佳答案

Foo table 是作为 jQuery 插件创建的,因此从未打算与 jQuery Mobile 一起使用。它只是另一个无法与 jQuery Mobile 正常工作的插件。 <强> Foo table 不知道如何处理 jQuery Mobile 页面切换。

让它工作的唯一方法是在每次访问该页面时动态创建整个表。在任何其他情况下 Foo table 将不起作用,因为页面已经存在并带有增强的表格标记。这就是为什么每个 jQuery Mobile 小部件都有一个带有刷新属性的函数。

这是一个工作示例:http://jsfiddle.net/Gajotres/PjmEL/

最后一件事,如果这对您来说不是一个好的解决方案,您应该切换到 dynamic table 的 jQuery Mobile 实现。 .

$(document).on('pageshow', '#index', function(){  
    $("#tblSRNDetails").remove();
    $('<table>').attr({'id':'tblSRNDetails','class':'footable'}).appendTo('[data-role="content"]');
        $("#tblSRNDetails").append(
            "<thead><tr>"+
            "<th data-class='expand'>SRN</th>"+
            "<th >Failure Date</th>"+
            "<th >Complaint Report Date</th>"+
            "<th>Promised Date</th>"+
            "<th >Customer Name</th>"+
            "<th >Log Time</th>"+
            "<th >Create FSR</th>"+
            "<th  data-hide='phone,tablet'>Days Open</th>"+
            "<th  data-hide='phone,tablet'>SRN Allocated Time</th>"+
            "<th  data-hide='phone,tablet'> SRN Status</th>"+
            "<th  data-hide='phone,tablet'> ESN Number</th>"+
            "<th  data-hide='phone,tablet'> Request Type</th>"+
            "<th  data-hide='phone,tablet'>Service Request Details</th>"+
            "</tr></thead>");  
    for (var indx = 0; indx < 2; indx++ )
    {
        $("#tblSRNDetails").append(
            "<tbody><tr>"+
            "<td>Name</td>"+
            "<td>failureDate</td>"+
            "<td>complaintReportDate</td>"+
            "<td>promisedDate</td>"+
            "<td>custName</td>"+
            "<td><a href='#'><b>Log Time</b></a></td>"+
            "<td><b>Create FSR</b></td>"+
            "<td>daysOpen</td>"+
            "<td>allocatedTime</td>"+
            "<td>srn_status</td>"+
            "<td>ESNNumber</td>"+
            "<td>requestType</td>"+
            "<td>customerComplaint</td>"+
            "</tr></tbody>");   
    }
    $('#tblSRNDetails').footable();
});

$(document).on('pagebeforeshow', '#second', function(){       

});

关于android - 添加动态数据时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16295763/

相关文章:

java - 应用程序仅在发布版本中崩溃

不同手机/设备和操作系统版本上的 Android 堆大小

javascript - jQuery 元素创建,值传递

Jquery 分页插件

ios - Xcode 更新后 Cordova 构建失败

java - Android Studio 下的外部库依赖

android - 手机导航

validation - Backbonejs集合.create : how to prevent it from adding items if there is an error?

checkbox - 更改 JQuery Mobile 复选框的标签

css - jquery 移动输入类型