javascript - 重新排列显示未定义值的数字

标签 javascript jquery twitter-bootstrap

我正在使用以下定价 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); 

FIDDLE

关于javascript - 重新排列显示未定义值的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32755268/

相关文章:

html - CSS 只影响行中的第一张图片

javascript - 如果缓慢离开屏幕,Touchend iOS 不会触发

javascript - 为什么我的 catch block 没有捕获 "Cross origin requests are only supported for protocol schemes: http..."

javascript - jquery 上的 Accordion 。我无法关闭事件元素

html - 将 html 元素放置在行内

html - bootstrap如何在一行中制作两个div

javascript - MobX 在 ObservableArray.map(..) 中绑定(bind)事件处理程序时抛出错误

javascript - FileTransfer.download 错误 3 cordova 3.3.0

javascript - DGrid 编辑器 - 尝试编辑文本单元格时更改显示值

javascript - 如何使用 onchange 通过 jquery 更改显示(显示/隐藏)的列表?