2014-10-18 23 views
0

使用parse.com和JavaScript SDK。 - 第一個顯示對象 列表 - 第二節允許用戶選擇的對象之一,並加入到一個模式對話框 - 第三節將數據保存到解析保存數據以使用javaScript SDK解析

什麼我無法找出是怎麼我可以將第1部分item.badgename和item.category保存爲解析。

我試過把m yBadge.set("category", badgename.toString());添加到第3部分,但我得到一個未定義的錯誤。我不確定如何在嘗試保存前定義這個。

真的需要一些幫助和示例。

3個-Saves徽章細節解析

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-結果返回到頁面讓用戶選擇**

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用戶選擇來自上方的對象,這將數據添加到模態箱

$(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; 
    }); 
}); 

回答

0

這是通過進行以下更改來解決的。 - 以從#badgeSelect數據不#category - 從第3條,線var categorySelected = $('#category').val();改爲categorySelected = $('#badgeselect .categorylabel').text();

通過從#badgeSelect獲取數據它意味着是唯一可用的數據是,在文中所示所示框,而不是'#category',它返回所有結果。

它只是簡單地將目標文本正確地與var類別相關的更改選中