Неправильный выбор изображения с использованием jquery

0

Использование 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>
Теги:
parse.com
variables

1 ответ

1
Лучший ответ

Похоже, ваша главная проблема здесь:

var badgeselected = $('.go').attr("src"); 

Это выбирает "src" attr первого элемента, который соответствует селектору. Если есть кратные (которые должны быть как минимум 2), вы всегда получите первый.

Скорее всего, вы должны добавить код в $('.go').click(function(e) { function, чтобы зафиксировать правильный src там или, возможно, добавить активный класс, чтобы вы могли сделать более избирательный селектор в $("#send").click(function() { function. Я только размышляю, потому что я не уверен, что делает ваше приложение.

При повторном просмотре, возможно, просто измените свою линию на это:

var badgeselected = $('#badgeselect .go').attr("src");
  • 0
    Привет, Дэниел, спасибо. К сожалению, это означает, что BadgeName отправляется на parse.com как «undefined». Если это помогло, вот ссылка на тестовую область, над которой я работаю с этим kudosoo.com/JQUERYYTEST/dannyboy .html
  • 0
    Вы пропустили пробел ... на вашей странице образца. В любом случае move var badgeselected = $('#badgeselect .go').attr("src"); внутри вашего $("#send").click(function () { function вместо before).
Показать ещё 5 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню