[英]Saving data to parse using javaScript SDK
Using parse.com and JavaScript SDK. 使用parse.com和JavaScript SDK。 - Section one shows a list of objects - Section two lets the user select one of those objects and add to a modal box - Section three saves the data to parse
-第一部分显示对象列表-第二部分让用户选择这些对象之一并添加到模式框-第三部分保存要解析的数据
What I'm unable to work out is how I can save the section 1 item.badgename and item.category to parse. 我无法解决的问题是如何保存第1节item.badgename和item.category进行解析。
I've tried adding m yBadge.set("category", badgename.toString());
我尝试添加m
yBadge.set("category", badgename.toString());
to section 3, but I get a undefined error. 到第3节,但出现未定义的错误。 i'm not sure how to define this before trying to save.
我不确定在尝试保存之前如何定义它。
Really need some help and an example to follow. 确实需要一些帮助和示例。
3 -Saves the badge details to parse 3-保存徽章详细信息以进行分析
var MyBadge = Parse.Object.extend("myBadges");
var FriendRequest = Parse.Object.extend("FriendRequest");
var friendRequest = new FriendRequest();
friendRequest.id = window.selectedFriendRequestId;
var badgeselected = $('#badgeselect .go').attr("src");
$(document).ready(function() {
$("#send").click(function() {
var myBadge = new MyBadge();
var badgeselected = $('#badgeselect img').attr("src");
var BadgeSentTo = $('#selectFriend').val();
var categorySelected = $('#category').val();
var uploadercomment = $('#UploaderComment').val();
myBadge.set("BadgeName", badgeselected); //got this working using .set
myBadge.set("Comment", uploadercomment); //got this working using .set
myBadge.set("category", categorySelected);
myBadge.set("SentTo", new Parse.User({
id: BadgeSentTo
}));
myBadge.set("uploadedBy", Parse.User.current());
myBadge.save(null, {
success: function(results) {
console.log("Done");
//location.reload();
},
error: function(contact, error) {
// The save failed.
alert("Error: " + error.code + " " + error.message);
}
});
return false;
});
});
** 1- Returns results to the page for user to select** ** 1-将结果返回页面供用户选择**
var GlobalBadges = Parse.Object.extend("Global_Badges");
var query = new Parse.Query(GlobalBadges);
query.exists("Global_Badges_img");
query.find({
success: function(results) {
var friends = [];
for (var i = 0; i < results.length; i++) {
friends.push({
imageURL: results[i].get('Global_Badges_img'),
//friendRequestId: results[i].id,
badgename: results[i].get('BadgeName'),
category: results[i].get('category')
});
}
// TW: replaced dynamic HTML generation with wrapper DIV that contains IMG and name DIV
_.each(friends, function(item) {
// using a wrapper so the user can click the pic or the name
var wrapper = $('<div></div>');
wrapper.append('<img class="images BadgeImgOutline responsive-image" src="' + item.imageURL + '" />'+ '<br>');
wrapper.append('<div id="name"class="tag badgelabel" >'+ item.badgename + '</div>'+ '<br>');
wrapper.append('<div id="category" class="tag categorylabel" >'+ item.category + '</div>'+ '<br>'+ '<br>' );
$('#container').append(wrapper);
});
},
error: function(error) {
alert("Error: " + error.code + " " + error.message);
}
});
2 -Upon the user selecting an object from above, this adds the data to a modalbox 2-当用户从上方选择对象时,这会将数据添加到模式框
$(document).ready(function() {
$('.go img').css('cursor', 'pointer');
$('.go').on('click', 'img', function(e) {
$('.go img').removeClass('BadgeImgOutline');
$(this).parent().appendTo('#badgeselect');
$(this).addClass('BadgeImgOutlineSmall');
$('.go img').addClass('BadgeImgOutline');
$('#modal').reveal({
closeonbackgroundclick: true,
dismissmodalclass: 'close'
});
return false;
});
});
This was addressed by making the following changes. 通过进行以下更改可以解决此问题。 - Taking the data from #badgeSelect not #category - From section 3, the line
var categorySelected = $('#category').val();
-从#badgeSelect中获取数据,而不从#category中获取数据-从第3节中,行
var categorySelected = $('#category').val();
was changed to categorySelected = $('#badgeselect .categorylabel').text();
更改为
categorySelected = $('#badgeselect .categorylabel').text();
By taking the data from #badgeSelect it meant that the only data being available was that shown shown in the text box, instead of '#category'that returned all results. 通过从#badgeSelect获取数据,这意味着唯一可用的数据是文本框中显示的数据,而不是返回所有结果的“ #category”。
The it was simply targeting the text correctly with the change to the var categorySelected 它只是通过更改var categorySelected来正确地正确定位文本
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.