Anadi
@Anadi
Если ответ Вам помог мой, решением отметье его!

Как правильно передать значение переменной в ajax запрос?

Всем привет! Кто знаком с аяксом, подскажите как правильно передать значение переменной в запрос? Необходимо передать путь к картинке в запрос. Кто может помогите. Код ниже.
<div class="filter-wrapper">
        <form action="" method="GET"
              enctype="multipart/form-data" name="interrior" id="interrior">
            <div class="clearfix"></div>
            <div class="grid js-isotope">
                <div class="grid-sizer"></div>
                <? foreach ($arResult['ITEMS'] as $key => $arItem) : ?>
                    <?
                    $this->AddEditAction($arItem['ID'], $arItem['EDIT_LINK'], $strElementEdit);
                    $this->AddDeleteAction($arItem['ID'], $arItem['DELETE_LINK'], $strElementDelete, $arElementDeleteParams);
                    $strMainID = $this->GetEditAreaId($arItem['ID']);

                    $image = $arItem['PREVIEW_PICTURE']['SRC'];
                    ?>
                    <div class="grid-item" id="<?= $strMainID; ?>">
                        <div class="item-box">
                            <button value="<?= $image; ?>"
                                    oncl ick="sendGet();" name="data_item" class="btn-selector">
                                <img src="<?= $image; ?>" class="image"/>
                            </button>
                            <p class="text-center">
                                <?= $arItem["NAME"]; ?>
                            </p>
                        </div>
                    </div>
                <? endforeach; ?>
                <?
                $data_item = $_GET["data_item"];
                ?>
            </div>
        </form>
        <div id="popup-box" class="popup-box">
            <div class="image-container">
                <img src="<?= $data_item ?>" class="img-thumbnail"/>
            </div>
        </div>
    </div>
    <script type="text/javascript">
        function sendGet() {
            $(".btn-selector").click(function () {
                $.ajax({
                    type: 'get',
                    url: 'ajax.php',
                    data: {
                        'data_item': '<?= $data_item ?>'
                    },
                    response: 'text',
                    success: function (data) {
                        $('#result').html(data);
                    }
                });
            });
        }
    </script>


Где не так сделал?
  • Вопрос задан
  • 753 просмотра
Решения вопроса 1
@MrTimon
Ну во-первых не нужно в ф-цию sendGet ставить обработчик $(".btn-selector").click. Выберете или одно или другое. Я бы советовал убрать ынлайн ф-цию sendGet. А скрипт перепесать следующим образом

$(document).ready(function() {

        $(".btn-selector").click(function () {
                var imgsrc = $(this).attr('value');

                $.ajax({
                    type: 'get',
                    url: 'ajax.php',
                    data: {
                        'data_item': imgsrc 
                    },
                    dataType : 'html',
                    success: function (data) {
                        $('#result').html(data);
                    }
                });
            });

});


тоесть имидж нужно выберать с атрибутов батона ну или с нижестоящего имиджа. Если я правильно понял Ваше условие
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы