Javascript函数在单独的页面jquery-mobile上打印成div

时间:2014-03-03 19:25:21

标签: javascript jquery html jquery-mobile cordova

我有一个Javascript函数,可以从json文件中打印各种信息,并将其显示在目录时尚中。它解析信息并将其打印成“ui-grid-b”div,因为我希望它们以3行的形式存在。我每次打开页面时都会反复进行javascript打印,因此我添加了一个函数来清除div每次打印。但是,当我打开一个带有“ui-grid-b”div的新的单独页面时,它会清除它并再次打印目录。这是js代码,我希望你能提供帮助:

            <script type="text/javascript">

        var grid= new Array();
        grid[0]= "a";
        grid[1]= "b";
        grid[2]= "c";
        var j=0;

        var color= new Array();
        color[0]= '#00c6c4;';
        color[1]= '#6fc41b;';
        color[2]= '#ffbd0c;';
        color[3]= '#ff84f1;';
        color[4]= '#1fbbff;';
        color[5]= '#ff1700;';
        color[6]= '#976833;';
        var k=0;


        $(document).on("pageinit", "#Page1", function(){


          var imp= "Json/empirical.json";
          $.getJSON(imp, function(data) {
           j=0;
           k=0;
           var toc= '';
           $.each(data.tcontent, function(index, item) {
            if (j > 2) { j = 0; }
            if (k > 6) { k = 0; }
            toc += "<div class='ui-block- ' " + grid[j] + " '>" + item.url + '<div class="grid" style="background-color: ' + color[k] + ' ">' + "<p class='gridtext'>"  + item.Name  + "</p>" +  "</div>" + "</a>" + "</div>"
            j++;
            k++;
          });


           $(".ui-grid-b").empty().append(toc);
         });
        });


        </script> 

1 个答案:

答案 0 :(得分:0)

为您的toc网格分配一个唯一ID:

<div id="theTOC" class="ui-grid-b"></div>

然后在您的代码中而不是:

$(".ui-grid-b").empty().append(toc);

DO

$("#theTOC").empty().append(toc);

确保此ID在所有页面中都是唯一的。还要确保您的页面具有唯一ID(即只有一个页面称为“Page1”)。