【发布时间】:2014-07-01 06:08:41
【问题描述】:
我想将输入绑定到页面的其他部分,并将用户输入的所有空格替换为其他字符,例如星号。
我的(简化的)HTML 代码如下所示:
<div ng-app>
<div ng-controller="MyCtrl">
Output: "{{input}}"<br />
<input type="text" ng-model="rawInput" ng-change="onInputChanged()" />
</div>
</div>
相关的控制器也很简单:
var myApp = angular.module('myApp',[]);
function MyCtrl($scope) {
$scope.input = '';
$scope.rawInput = '';
$scope.onInputChanged = function() {
$scope.input= $scope.rawInput .replace(/\s/g, '*');
};
};
结果不如预期。在文本框中输入'Hello ' 时,结果输出为"Hello",并删除了尾随空格。输入末尾的多个空格也是如此。
向输入添加非空白字符时,例如'Hello W',空白将被正确替换并显示:"Hello*World"。
所以我的问题是:如何绑定到保留用户输入的所有空格的文本框的值?
我创建了 JSFiddle 来演示这个问题。
【问题讨论】:
标签: angularjs binding angularjs-ng-change non-printing-characters