【问题标题】:Need to restart app..Using Phonegap with lawnchair需要重新启动应用程序..使用带草坪椅的 Phonegap
【发布时间】:2013-06-19 22:02:55
【问题描述】:

每次插入、删除或更新数据时,我都需要重新启动我的应用程序。 数据正在正确插入和删除...但不知道为什么我每次都需要重新启动我的应用才能获得效果。

我想使用这个应用程序的文件结构。

<script type="text/javascript" charset="utf-8" src="js/cordova-2.1.0.js"></script>
<script type="text/javascript" charset="utf-8" src="js/lawnchair.js"></script>
<script type="text/javascript" charset="utf-8" src="js/dom.js"></script>
<script>
    $(function(e) {

        var details = Lawnchair({name:'details',adapter:'dom'},function(e){
            //this.nuke();
        });

        details.all(function(data){
            for(var i = 0; i<data.length;i++)
            {
                //alert(data.length);
                var id = i + 1;
                //alert(id);
                document.getElementById("id").value = id;
                var listdiv = document.createElement('li');
                listdiv.setAttribute('id','listdiv' + i);
                listdiv.innerHTML = "ID : " + data[i].value.id + " | " + "Name : " + data[i].value.name + " | " + "Desc : " + data[i].value.desc;
                $('#show_list').append(listdiv);
            }
        });

        $('#save').click(function(e){
            //alert($.now());
            var obj1 = {id:$('#id').val(),name:$('#name').val(),desc:$('#desc').val()};
            //alert("listdiv" + obj1.id);
            details.save({key:"listdiv" + obj1.id,value:obj1});
            alert("Data Saved Successfully");
            //location.reload();
        });

        $('#del').click(function(e){
        if(document.getElementById("name").value != "")
        {
            var id = document.getElementById("id").value;
            details.remove("listdiv" + id,function(obj1){
                $("input:text").val("");
                document.getElementById("show_list").innerHTML = "";
                alert("Data Removed Successfully");
            });
        }
        else
        {
            alert("Please Select Data");
            return false;
        }
        });

        $('li').live('click',function(e){
            //alert(this.id);
            details.get(this.id,function(obj){
                document.getElementById("id").value = obj.value.id;
                document.getElementById("name").value = obj.value.name;
                document.getElementById("desc").value = obj.value.desc;
            });
        });
    });
    </script>

  </head>
  <body>

  </body>
</html>

【问题讨论】:

  • 什么效果,重启能达到什么效果?
  • 无论我插入或删除/更新的内容正在实现..
  • 这不是我的问题,我的问题是你想要达到什么目标?
  • 我想在我修改或插入新数据后立即反映我的 li 标签中的数据...我不想重新启动我的应用程序来获得反映..

    标签: cordova jquery-mobile lawnchair


    【解决方案1】:

    因为添加了新内容,所以代码应该如下所示:

        details.all(function(data){
            for(var i = 0; i<data.length;i++)
            {
                //alert(data.length);
                var id = i + 1;
                //alert(id);
                document.getElementById("id").value = id;
                var listdiv = document.createElement('li');
                listdiv.setAttribute('id','listdiv' + i);
                listdiv.innerHTML = "ID : " + data[i].value.id + " | " + "Name : " + data[i].value.name + " | " + "Desc : " + data[i].value.desc;
                $('#show_list').append(listdiv);+
            }
            $('#show_list').listview().listview('refresh');
        });
    

    已添加此行(#show_list 应为 listviews id):

    $('#show_list').listview().listview('refresh');
    

    如果您想了解更多相关信息(如何在 jquery Mobile 中增强动态添加的内容),请查看我的另一个 ARTICLE。或者可以在我的其他答案中找到 HERE。仔细阅读它,因为有很多方法可以实现。

    编辑:

    这里有一个解决您的问题的方法:http://jsfiddle.net/Gajotres/3cuPP/

    当您单击保存按钮时,您还需要附加新数据。在您的情况下,我使用 all 函数来获取所有数据,然后将相同的数据附加到 listview 并刷新。

    【讨论】:

    • 出现错误。错误:无法在初始化之前调用列表视图上的方法;试图调用方法“刷新”
    • 然后试试这个:$('#show_list').listview().listview('refresh');
    • 也仔细阅读了我的另一篇文章,那里描述了这个错误。
    • 你能把这个新行放在for循环后面吗?
    • 感谢 Gajotres...非常感谢您...我是 stackoverflow 的新手,您在我的第一篇文章中帮助了我...cnt 非常感谢您的兄弟...
    猜你喜欢
    • 2013-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-14
    • 1970-01-01
    • 1970-01-01
    • 2023-03-23
    相关资源
    最近更新 更多