Top.Mail.Ru
Ответы

Почему ajax вызывается только при нажатии на первую кнопку?

У меня есть вот такой php код,

12345678910111213141516171819202122232425
             if (isset($itm)) { 
 
                foreach ($invent as $row) { 
 
                    $skin_id = $row["id"]; 
                    $skin_img = $row["img"]; 
                    $skin_tittle = $row["tittle"]; 
                    $skin_name = $row["name"]; 
                    $skin_cost = $row["cost"]; 
 
            ?> 
                    <div class="menu__skins-items"> 
                        <div class="menu__skins-img_box"> 
                            <img src="https://" width="-1" height="-1" alt = "false|false"/>"> 
                        </div> 
                        <input type="button" id="sell" class="menu__skins-sell" value="Продать"> 
                        <input type="button" id="remove" class="menu__skins-remove" value="Вывести"> 
                    </div> 
                <?php 
                }; 
            } else { ?> 
                <div class="none_skin__box"> 
                    <a class="none_skin__link" href="/index.php">Предметов нет</a> 
                </div> 
            <?php } ?> 


который создаёт много кнопок:

НО ajax код срабатывает только при нажатии на первую кнопку:

12345678910111213
 $("#sell").click(function () { 
  $.ajax({ 
    type: "POST", 
    url: "ajax_profile.php", 
    data: { 
      skin_img: 'Butterfly/Dragon_Glass.webp', 
      skin_cost: '2', 
    }, 
    success: function (result) { 
      $("#menu_skin").html(result); 
    }, 
  }); 
}); 
По дате
По рейтингу
Аватар пользователя
Новичок

Спецификацию html знать надо
id - это уникальный идентификатор. Заранее предполагается, что элемент с заданным id на странице один

Аватар пользователя
Мыслитель

Не по теме вопроса, но зачем тебе на сервер передавать ссылку на картинку и цену?
От картинки какой смысл? Передаваться должны те данные, которые заданы пользователем. То есть как минимум идентификатор скина + количество. Цена же берётся на стороне сервера, так как от пользователя она не зависит.
Более того, таким образом пользователь может задать свою цену через консоль и купить скин за копейки или продать в тридорого.

Аватар пользователя
Оракул

учи матчасть

Аватар пользователя
Мастер

Потому что id уникален, и $(“#sell”) выбирает только один элемент.
Чтобы код срабатывал на всех, нужно выбирать по классу: $(“.menu__skins-sell”).
Id у кнопок нужно сделать разным или вообще не задавать.