Использование parse.com/Javascript и jquery.
Извините, если это рассматривается как слишком длинный пост, я все еще пытаюсь понять правильный уровень детализации, чтобы обеспечить...
У меня есть два изображения, которые пользователь может щелкнуть. После щелчка изображение отображается во всплывающем окне, и пользователь должен иметь возможность щелкнуть зеленую кнопку отправки, а URL-адрес изображения отправляется на бэкэнд-сервер parse.com.
В настоящий момент, независимо от того, какое изображение вы нажимаете, только изображение john_williams.jpg отправляется для разбора.
Я должен делать что-то принципиально неправильное, чтобы это произошло, например, не сохраняя правильность изображения.
<div class="shake shake-little"><img class ="go" src="http://kudosoo.com/Pics/John_Williams.jpg" alt="img"></div>
<div class="shake shake-little"><img class ="go" src="http://kudosoo.com/Pics/Lisa_Wong.jpg" alt="img"></div>
После щелчка по нему создается всплывающее окно с выбранным изображением, отображаемым в классе "go", когда пользователь нажимает зеленую кнопку, выбранное изображение должно храниться под классом "go", чтобы впоследствии его можно было найти в нижних js и отправленных в базу данных.
<!---Pop up box with info about the badge and options for user to complete--> <div id="modal">
<div id="heading">
Award your friend this badge!?
</div>
<div id="content">
<div id="badgeselect">
<div class= "go"></div>
</div>
<a id="send" class="button green close"><img src="images/tick.png">Yes, do it now!</a>
<a href="#" class="button red close"><img src="images/cross.png">No, Iâm insane!</a>
</div>
</div>
PARSE/JAVASCRIPT - ПЕРЕХОДИТ ИЗОБРАЖЕНИЕ ИЗ ВЕБСАЙТА В КОРОБКУ POP UP
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script src="js/jquery.reveal.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('.go').css('cursor', 'pointer');
$('.go').click(function(e) { // Button which will activate our modal
$(this).width(100).height(100).appendTo('#badgeselect');
$('#modal').reveal({ // The item which will be opened with reveal
animation: 'fade', // fade, fadeAndPop, none
animationspeed: 600, // how fast animtions are
closeonbackgroundclick: true, // if you click background will modal close?
dismissmodalclass: 'close' // the class of a button or element that will close an open modal
});
return false;
});
});
</script>
<script type="text/javascript">
PARSE/JAVASCRIPT - ДОЛЖЕН ОТПРАВИТЬ ИЗБРАННОЕ ИЗОБРАЖЕНИЕ В PARSE.COM BACKEND
Parse.initialize("xxxx", "xxxx");
var badgeselected = $('.go').attr("src");
var MyBadges = Parse.Object.extend("myBadges");
var userbadges = new MyBadges();
$(document).ready(function () {
var badgeselected = $('.go').attr("src");
$("#send").click(function () {
userbadges.set("BadgeName", badgeselected);
console.log("done");
userbadges.save(null, {
success: function (results) {
// The object was saved successfully.
location.reload();
},
error: function (contact, error) {
// The save failed.
// error is a Parse.Error with an error code and description.
alert("Error: " + error.code + " " + error.message);
}
});
});
});
</script>
Похоже, ваша главная проблема здесь:
var badgeselected = $('.go').attr("src");
Это выбирает "src" attr первого элемента, который соответствует селектору. Если есть кратные (которые должны быть как минимум 2), вы всегда получите первый.
Скорее всего, вы должны добавить код в $('.go').click(function(e) {
function, чтобы зафиксировать правильный src там или, возможно, добавить активный класс, чтобы вы могли сделать более избирательный селектор в $("#send").click(function() {
function. Я только размышляю, потому что я не уверен, что делает ваше приложение.
При повторном просмотре, возможно, просто измените свою линию на это:
var badgeselected = $('#badgeselect .go').attr("src");
var badgeselected = $('#badgeselect .go').attr("src");
внутри вашего$("#send").click(function () {
function вместо before).