我所拥有的是两个输入,供用户输入保存到数据库的名字和姓氏。接下来使用Handlebars.js我遍历数据库中的对象以创建所有“联系人”的列表,并添加了一个按钮,单击该按钮时应该删除该联系人。
问题是我无法删除该对象。 下面是我到目前为止使用的代码。
<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上询问
答案 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);
}
});
});