使用Handlebars.js从parse.com删除对象

时间:2013-05-29 10:07:53

标签: javascript jquery html handlebars.js parse-platform

我所拥有的是两个输入,供用户输入保存到数据库的名字和姓氏。接下来使用Handlebars.js我遍历数据库中的对象以创建所有“联系人”的列表,并添加了一个按钮,单击该按钮时应该删除该联系人。

Example of what i'm looking for

问题是我无法删除该对象。 下面是我到目前为止使用的代码。

<script id="template" type="text/x-handlebars-template">
<table>
<tr>

<td>
<input value={{FirstName}}></input>
</td>
<td>
<input id="EditLname" value={{LastName}}></input>
</td>
<td>
<button id=del>delete</button>
</td>

</tr>
</table>
</script>

以下重要代码的其余部分。

$(window).load(function () {
        var Contact = Parse.Object.extend("Contact");
        var query = new Parse.Query(Contact);
        query.equalTo("objectId");
        query.find({
            success: function (results) {

                for (i = 0; i < results.length; i++) {
                    var data = ({
                        FirstName: results[i].attributes.FirstName,
                        LastName: results[i].attributes.LastName
                    });
                    var template = Handlebars.compile($('#template').html());

                    var html = template(results);

                    $("#main").append(template(data));
                }
            },
            error: function (error) {
                alert("Error: " + error.code + " " + error.message);
            }
        });

        $(document).on("click", "#del", function () {
            myObject.destroy({
                success: function (myObject) {
                    // The object was deleted from the Parse Cloud.
                },
                error: function (myObject, error) {
                    // The delete failed.
                    // error is a Parse.Error with an error code and description.
                }
            });
        });
    });

上面给出了控制台日志中的“Uncaught ReferenceError:myObject未定义”。但是我有这个代码来表达我的思维模式。

万一有人不确定,我想要的是当点击john smith旁边的按钮时,“john smith”将从数据库中删除/删除。

编辑:基本上我想让This使用Handlebars。

编辑:This Question在Parse.com上询问

1 个答案:

答案 0 :(得分:1)

我通过找到我设置为按钮“value”的对象的objectId来获得它。

把手模板

<script id="template" type="text/x-handlebars-template">
<table>
<tr>
<td>
<input id="EditName" value={{FirstName}}></input>
</td>
<td>
<input id="EditLname" value={{LastName}}></input>
</td>
<td>
<button id="del" value="{{objId}}">Delete</button>
</td>
</tr>
</table>
</script>

填充模板并设置按钮的“值”

$(window).load(function () {
        var Contact = Parse.Object.extend("Contact");
        var query = new Parse.Query(Contact);
        query.equalTo("objectId");
        query.find({
            success: function (results) {

                for (i = 0; i < results.length; i++) {
                    var data = ({
                        FirstName: results[i].attributes.FirstName,
                        LastName: results[i].attributes.LastName,
                        objId: results[i].id
                    });
                    var template = Handlebars.compile($('#template').html());

                    var html = template(results);

                    $("#main").append(template(data));
                }
            },
            error: function (error) {
                alert("Error: " + error.code + " " + error.message);
            }
        });

最后是点击删除按钮时的代码。

$(document).on("click", "#del", function () {

            var delObject = $(this).attr("value");

            var query = new Parse.Query(Contact);
            query.get(delObject, {
                success: function (delObj) {
                    // The object was retrieved successfully.
                    delObj.destroy({});
                    window.location = "index.html";
                },
                error: function (object, error) {
                    // The object was not retrieved successfully.
                    // error is a Parse.Error with an error code and description.
                    alert("Error: " + error.code + " " + error.message);
                }
            });

        });
相关问题