如何格式化角度js中的数字文本框?

时间:2016-07-01 08:22:44

标签: angularjs

<div class="input-group-icon">Max <span class="error">
  <div class="input-group">
     <input style="border-right:none;" name="investment_amount_max" ng-model="attributes.investment_amount_max"   max="{{constants.globalValue.maxNumber}}" min="{{attributes.investment_amount_min}}" type="number" ng-pattern="/^[0-9]+(\.[0-9]{1,2})?$/" step="0.01" required  class="form-control input-sm m-bot15" /> 
     <span style="border-left:none; background:none; border-color:#e2e2e4;" class="input-group-addon" id="basic-addon2">{{programname.country.currency_symbol?programname.country.currency_symbol:'$sss'}}</span> </div>
     <span id='number-default'>{{attributes.investment_amount_max | number}}</span>
     <label for="investment_amount_max" ng-show="submittab1 && attributesForm.investment_amount_max.$error.required" class="error">{{formValidation.required}}</label> 
     <label for="investment_amount_max" ng-show="submittab1 && attributesForm.investment_amount_max.$error.min" class="error"> {{formValidation.minMax}} </label>
     <label for="investment_amount_max" ng-show="submittab1 && attributesForm.investment_amount_max.$error.max" class="error"> {{formValidation.numberMax}} </label>
     <label for="investment_amount_min" ng-show="submittab1 && attributesForm.investment_amount_max.$error.number" class="error">{{formValidation.errorNumber}}</label>

  </div>
</div>

请参阅上面的编码,如何使用角度js格式化内部文本框号码中的数字?

2 个答案:

答案 0 :(得分:0)

input type="number"除了数字之外不支持任何内容。

您可以使用type="text"和模式验证,例如pattern =“[0-9] +([。,] [0-9] +)*”来限制用户在自动格式化值时可以输入的内容在控制器中使用:$filter('number')(number, fractionSize)

您甚至可以设置格式化标签,以便在输入未聚焦时显示数据: http://jsfiddle.net/LCZfd/6/

也许您应该阅读这个问题:AngularJS number input formatted view

答案 1 :(得分:0)

您可以使用自定义过滤器格式化输出和自定义指令,以便在更新文本字段时进行格式化。

使用ng-valuevalue指令检查自定义过滤器“emptyIfZero”。这仅适用于显示,如果有其他输入字段用于计算输出。如果要在更新文本框时进行格式化,则应使用$parsers$formatters。有关更多详细信息,请参阅此文章:

https://cameronspear.com/blog/how-cool-are-formatters-and-parsers/

将自定义指令与$parsers一起使用时,请确保在想要更改文本框中值的显示方式时立即调用$render更新ngModel。请参阅Plunker示例中的empty-if-zero

更新了Plunker样本:

http://plnkr.co/edit/Fmqw0wp37Ndk1yuWvFkV?p=previewsource