我正在使用以下定价 slider http://amirolahmad.github.io/bootstrap-pricing-slider/
我需要在 update()
函数中组合数字的前三个字符来重新排列数字。这样我就可以创建一个新号码。但我在堆栈中检索这些字符。
这是代码-
$(".blinder_realstate #slider").slider({
range: "min",
animate: true,
value: 1,
min: 40000,
max: 1400000,
step: 10000,
slide: function (event, ui) {
update(1, ui.value);
}
});
update();
//changed. now with parameter
function update(slider, val) {
//changed. Now, directly take value from ui.value. if not set (initial, will use current value.)
var $amount = slider == 1 ? val : $(".blinder_realstate #amount").val();
var $duration = slider == 2 ? val : $(".blinder_realstate #duration").val();
if($amount > 1000000){
alert($amount);
var first_char = $amount[0];
alert(first_char);
var second_char = $amount[1];
var third_char = $amount[2];
var first_elem = first_char + second_char;
var second_elem = second_char + third_char;
if(second_elem >= 10){
second_elem = 0;
}
var number_format = first_elem+''+second_elem+'00000';
$amount = parseInt(number_format);
}
$total = ($amount * 1.8) / 100;
$new_total = formatNumber($total - 395);
$(".blinder_realstate #amount").val('£' + $amount);
$(".blinder_realstate #amount-label").text('£' + $new_total);
$(".blinder_realstate #duration").val($duration);
$(".blinder_realstate #duration-label").text($duration);
$(".blinder_realstate #total").val($total);
$(".blinder_realstate #total-label").text($total);
$('.blinder_realstate #slider a').html('<label><span class="glyphicon glyphicon-chevron-left"></span> £' + formatNumber($amount) + ' <span class="glyphicon glyphicon-chevron-right"></span></label>');
}
function formatNumber(num) {
return num.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1,")
}
它显示 alert($amount)
值的警报,但在 alert(first_char)
中显示 undefined
。
提前致谢。
最佳答案
您需要将金额转换为字符串。
var $amount = 1234;
var $amountStr = $amount.toString();
var first_char = $amountStr[0];
alert(first_char);
关于javascript - 重新排列显示未定义值的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32755268/