我有一个动态表格,其中包含的价格可能因使用过滤器而改变。
一旦页面加载,我需要获取跨度的内容并将该数字乘以每个4.
我不明白当用户过滤掉表格时如何保持价格动态。 例如,如果当前跨度为100英镑(人均价格)并且我运行代码它将自动更新为400英镑,但如果我过滤掉表格或刷新页面,并且每人的价格变为50英镑,代码将返回(£400x4)而不是采用新的金额(£50 * 4)
我希望有人可以帮助我。
这是脚本文件:
function updateGrid() {
$(".grid_3").each(function(){
var pp = $(this).find(".latest-offer-price").text();
var price = Number(pp.substring(1, pp.length));
var familyPrice = "£" + price * 4;
$(this).find(".latest-offer-price").text(familyPrice);
})
}
$(document).ajaxSuccess(function(){
setTimeout(updateGrid,30)
});
updateGrid();`
这是它的html:
`<div class="grid_3 alpha omega selected">
<div>
<p class="latest-type">
<span class="latest-offer-price">£100</span>
<span>pp</span>
</p>
</div>
</div>`
答案 0 :(得分:0)
您的代码行为没有任何问题。 当您运行更新价格的功能时,只需用新的替换前一个。然后它完全一样。
function updateGrid() {
$(".grid_3").each(function(){
var pp = $(this).find(".latest-offer-price").text();
var price = Number(pp.substring(1, pp.length));
var familyPrice = "£" + price * 4;
$(this).find(".latest-offer-price").text(familyPrice);
})
}
$('#change').click(function(){
$('.latest-offer-price').text("£" + 50);
updateGrid();
});
updateGrid();
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="grid_3 alpha omega selected">
<div>
<p class="latest-type">
<span class="latest-offer-price">£100</span>
<span>pp</span>
</p>
</div>
</div>
<button id="change">Fake ajax: Change to 50</button>
&#13;