【问题标题】:HTML Input thousand seperatorHTML 输入千位分隔符
【发布时间】:2018-04-04 05:03:36
【问题描述】:

我在 HTML 表单中有一个文本类型的输入。

<from>
  <input type="text" name="price" value="20000">
  <button type="submit">Save</button>
</form>

我希望输入文本在 UI 上显示为逗号分隔,并且在提交表单时,我想要实际值。

如果我想用javascript写成

$('form').serialize()

那么我应该将 price 的值设为 20000 而不是 20,000

这是否可能无需在 javascript 中编写任何将逗号分隔的字符串解析为数字的方法?

【问题讨论】:

标签: javascript jquery html css


【解决方案1】:

没有javascript方法是不可能的...尝试在这里使用parseInt()toLocaleString()方法...

var inputValue = parseInt($("input").val());
$("input").val(inputValue.toLocaleString());
console.log(inputValue);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form>
  <input type="text" name="price" value="20000">
  <button type="submit">Save</button>
</form>

【讨论】:

    【解决方案2】:

    var number=20000;
    document.getElementsByName("price")[0].value = number.toLocaleString();
    function getValue()
    {
      number = +document.getElementsByName("price")[0].value.replace(',', '');
      console.log(number);
    }
    <from>
            <input type="text" name="price">
    
            <button type="submit" onclick="getValue()">Save</button>
     </form>

    更多详情

    https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString

    【讨论】:

    • 这不适用于 $('form').serialize() 所要求的。
    【解决方案3】:

    你可以在php中实现这样的。

    $output = 49995;
    $followers = number_format( $output , 0 , '.' , ',' );
    echo $followers;
    

    我已经给了 js fiddle 像 Fiddle Demo

    【讨论】:

      猜你喜欢
      • 2015-10-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多