【发布时间】:2022-06-16 13:52:13
【问题描述】:
我正在尝试通过将.digits(); 添加到var sub 来为.htm(price * num) 结果添加千位分隔符。如何让千位分隔符处理var sub 的结果?由于它们不是val,我是否需要在添加digits(); 函数之前将结果转换为数字?
$(document).ready(function() {
$.fn.digits = function() {
return this.each(function() {
$(this).val(
$(this)
.val()
.replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1,")
);
});
};
var total = $(".slider__total").html();
var sold = $(".sold").html();
var available = total - sold;
var price = $(".cost").html();
var num = $("#num").html();
$(".item__available").html(available);
var sub = $("#slider_subtotal")
.html(price * num)
.digits();
$(".qty").attr({
max: available
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
sold<span class="sold">3</span>total<span class="slider__total">10</span>available<span class="item__available"></span><input type="range" min="1" value="1" class="qty" name='quantity' oninput="num.value = this.value"><output id="num">0</output>unit:
$
<span class="cost">500</span>subtotal: $<span id="slider_subtotal">0</span>
【问题讨论】:
标签: javascript jquery