javascript .keyup正确的价格格式等等

时间:2011-11-11 03:34:16

标签: javascript jquery keyup

到目前为止,我有一个由片段组成的片段。到目前为止,我还不是JavaScript方面的专家,所以如果有人能帮助我实现以下目标,我将非常感激并希望今天能够学到新东西:)

我想实现以下目标:

当用户在输入字段中键入1000000时,显示的结果如下,

  1. 高于100万美元
  2. 低于100万美元
  3. $ 97万至$ 130万
  4. 目前我可以实现正确显示数字到价格,但不知道如何在价格结尾添加百万,千,百万这个词。另外,我不确定如何减去3%,并在价格之间增加3%的价格。

    到目前为止,这是我的代码:

    <input type="text" id="price" class="liveprice" value="<?php echo $myprice; ?>" >   
    <p>Higher than <span id="higher"><?php echo $myprice;?></span></p>
    <p>Lower than <span id="lower"><?php echo $myprice;?></span></p> 
    <p>In between <span id="between"><?php echo $myprice;?></span></p> 
    
    <script type="text/javascript">
    // make sure it adds commas and dots to price
    $.fn.digits = function() {
        return this.each(function() {
            $(this).text($(this).text().replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1,"));
        })
    }
    
    // update in real time
    $("input.liveprice").keyup(function() {
    
        var value = $(this).val();
    
        $("#higher").text(value).digits();
        $("#lower").text(value).digits();
        $("#between").text(value).digits();
    
    }).keyup();
    </script>
    

1 个答案:

答案 0 :(得分:4)

如果您想知道它是否高于100万,请将数字除以1百万,然后使用Math.floor()对数字进行舍入。如果答案高于零,那么这就是“你有多少”。然后你可以使用类似的东西插入百万字样(你需要在这里添加一些东西):

var val = $('your input').val()/1000000;
if (Math.floor(val) > 0) {
    $('your element with words').text( val + " million" );
}

对1000做同样的事,但除以1000而不是1000000。