得到我的div的两个this值(jQuery)

时间:2018-06-21 11:26:53

标签: php jquery

我在jquery中编写了一个脚本:“添加到购物车”。问题在于上面的脚本可以正常工作,但不能正常工作。

当我按下addtobasket div时,它将执行所有名称和价格的字符串。他不能从此div中仅获得价值。

我不知道该怎么做,只能将它作为div cenaprzedmiotu和div nazwa的这个值。 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>";
}

jQuery:

$("body").on("click", ".addtobasket", function(evt) {
    $("#kontener_koszyka").fadeIn();

    var suma = 0;
    var nazwa = $(".nazwa").text();
    var cena = $(".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));
});

1 个答案:

答案 0 :(得分:1)

尝试以下解决方案:

var nazwa = $(this).closest('.produkt').find('.nazwa').text();

在这里您可以了解有关.closest和   .find