【发布时间】:2021-08-17 12:30:07
【问题描述】:
我想创建一个购物车系统,我想在其中根据会员编号显示数据。我完美地从控制器获取数据,但它没有以 HTML 格式显示。我在这里分享控制台结果:
$(document).ready(function() {
var get_price_per_head;
var members;
$('.increment').on('click', function(e) {
e.preventDefault();
var quantity = $(this).parent('div').find('.qua').html();
var package_type_id = $(this).parent('div').find('.package_type_id').val();
var increased_val = parseInt(quantity) + 1;
console.log(package_type_id);
$(this).parent('div').find('.qua').html(increased_val);
$.ajax({
url: 'get_package_type_price',
method: 'GET',
data: {
package_type_id: package_type_id,
member_number: increased_val
},
dataType: 'json',
success: function(data) {
get_price_per_head = data.get_price_per_head;
console.log(get_price_per_head);
$(this).parent("div").find(".price_per_head").html(get_price_per_head);
}
});
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="item-grp">
<p>Total Members</p>
<div class="btn-grp" data-id="{{ $id }}">
<button class="btn-outline-dark update-cart-button
decrement" id="decrement">-</button>
<strong><span class="qua" id="quantity">
{{$details['number_of_members']}}</span></strong>
<button class="btn-outline-dark update-cart-button
increment" id="increment">+</button>
<input type="hidden" class="package_type_id" value="
{{$details['package_type_id']}}">
</div>
</div>
<div class="item-grp" data-id="{{ $id }}">
<p>Cost Per-member</p>
<strong>$<span class="price_per_head">{{
$details['price_per_head'] }}</span></strong>
</div>
$(this).parent("div").find(".price_per_head")的控制台截图
【问题讨论】:
-
请发布渲染的 HTML。我给你做了一个sn-p。请将其编辑为 minimal reproducible example - 例如,您缺少最后一个
}) -
首先将
{{ $details['price_per_head'] }}放入.price_per_head只是为了在解决问题后立即将其替换为ajax 调用的结果,这对我来说似乎有点毫无意义。 -
你能把
$(this).parent("div").find(".price_per_head")添加到你的console.log(get_price_per_head);吗? -
@shaedrich 我已经用控制台更新了问题,请在底部查看
-
表示,jQuery 找不到你的元素。