<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格式化内部文本框号码中的数字?
答案 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-value
或value
指令检查自定义过滤器“emptyIfZero”。这仅适用于显示,如果有其他输入字段用于计算输出。如果要在更新文本框时进行格式化,则应使用$parsers
和$formatters
。有关更多详细信息,请参阅此文章:
https://cameronspear.com/blog/how-cool-are-formatters-and-parsers/
将自定义指令与$parsers
一起使用时,请确保在想要更改文本框中值的显示方式时立即调用$render
更新ngModel。请参阅Plunker示例中的empty-if-zero
。
更新了Plunker样本: