<html>
<body ng-app="app">
<div ng-controller="HelloController">
Enter Text
<input class="form-control" ng-model="inputString">
</div>
</body>
<html>
我不想使用CSS样式“文本转化:利用”,因为它不工作时,大写锁定是如何为每个字的首字母,同时使用文本区域中键入角度
<html>
<body ng-app="app">
<div ng-controller="HelloController">
Enter Text
<input class="form-control" ng-model="inputString">
</div>
</body>
<html>
我不想使用CSS样式“文本转化:利用”,因为它不工作时,大写锁定是如何为每个字的首字母,同时使用文本区域中键入角度
与框架AngularJS你可以把它用大写锁定或关闭工作:
angular
.module('App', [])
.controller('HelloController', ['$scope', function ($scope) {
$scope.setFirstUppercase = function(str) {
$scope.inputString = str
.toLowerCase()
.replace(/\w+/g, function(s) {
return s[0].toUpperCase() + s.slice(1);
});
};
}]);
label, textarea {display: block;}
textarea {width: 300px; height: 80px;}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="App" ng-controller="HelloController">
<label for="input-string">Enter Text:</label>
<textarea
id="input-string"
class="form-control"
ng-change="setFirstUppercase(inputString)"
ng-model="inputString">
</textarea>
</div>
非常感谢。它的工作很棒。 (Y) –
好帮手..你应该选择一个正确的答案为您的问题 –
下面是一个简单的演示,在JQuery中,对HEL p你:
$("#someId").on('keyup', function(e) {
var arr = $(this).val().split(' ');
var result = '';
for (var x = 0; x < arr.length; x++)
result += arr[x].substring(0, 1).toUpperCase() + arr[x].substring(1) + ' ';
$(this).val(result.substring(0, result.length - 1));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<textarea id="someId"></textarea>
最好使用regex
为资本这里 - /\b[a-z](?!\s)/g
请参见下面的演示:
document.querySelector("textarea").addEventListener('keyup', function(e) {
this.value = this.value.toLowerCase().replace(/\b[a-z](?!\s)/g, function(x) {
return x.toUpperCase();
});
});
<textarea></textarea>
对不起,它不工作时,大写锁定是:( –
@Varunverma检查编辑答案,修复它:) – kukkuz
可以使用
<input class="form-control" ng-model="inputString" ng-change="capitalize(inputString)">
在控制器
$scope.capitalize = function(input) {
input = input.toLowerCase();
$scope.inputString = input.replace(/\b./g, function(m) {
return m.toUpperCase();
});
};
OR
$scope.capitalize = function(input) {
input = input.replace(/\b./g, function(m) {
return m.toUpperCase();
});
$scope.inputString = input.replace(/\B./g, function(m) {
return m.toLowerCase();
});
};
嗨。我尝试了上述解决方案。但大写锁定打开时它不起作用。 –
可以尝试更新的答案@Varunverma –
“这并不当大写锁定是上工作”。所以你也想强制每个单词的其余字母小写? – blex
是的,先生。因为上面的CSS属性不工作时,大写锁定是 –