首页 > 解决方案 > 得到一个两个,这个值在 jquery

问题描述

按下 a 后div,我想values从另一个 div 的其他 div中获取两个id,但console弹出这样的错误:

未捕获的类型错误:无法读取 HTMLDivElement 处未定义的属性“getData”。

我怎样才能得到两个值,但div我会按(不是所有的 div)?

JS:

$(".addtobasket").on("click", function (evt) {
    $("#kontener_koszyka").fadeIn();
    evt.preventDefault();
    var suma = 0;
    var przedmiot = evt.dataTransfer.getData("text");
    var nazwa = $("#"+przedmiot+" .nazwa").text();
    var cena = $("#"+przedmiot+" .cenaprzedmiotu").text();
    var li = "<li class='produkt_w_koszyku'><b>"+nazwa+"</b> <span class='cena_w_koszyku'>"+cena+" zł</span></li>";

    $("#koszyk").append(li);

    $("#koszyk .cena_w_koszyku").each(function()
    {
        suma += parseFloat($(this).text());
    });

    $("#cena span").text(suma.toFixed(2));
});

HTML/PHP:

   while ($row = $result->fetch_assoc()) {
            $i++;
            echo "<div class=\"col-md-3\">

            <section class='produkt' id='$i' draggable='true'>";

            echo "<div class=\"opis\">
                <div class=\"nazwa\" style='margin-top:6px;'>".$row['nazwa']."</div>
                <div><b>Cena:</b> <span class=\"cenaprzedmiotu\">".$row['cena']."</span> PLN</div>
                <div id='kategoriaproduktu' style='display: none;'>".$row['kategoria']."</div>
            </div><div class='addtobasket'><i class=\"fas fa-cart-plus\"></i></div>";

            echo "</section></div>";
        }

标签: phpjquery

解决方案


您的问题不太清楚,但据我了解,我相信以下内容应该可以解决您的问题。

因为“.addtobasket”是在页面加载后添加的,所以您不能从一开始就直接为其分配点击功能。

改变:

$(".addtobasket").on("click", function (evt) {

}

至:

$("body").on("click", ".addtobasket", function (evt) {

}

希望这可以帮助!


推荐阅读