2017-08-13 18 views
2
<html> 
<body ng-app="app"> 
    <div ng-controller="HelloController"> 
    Enter Text 
    <input class="form-control" ng-model="inputString">  
    </div>  
</body> 
<html> 

我不想使用CSS样式“文本转化:利用”,因为它不工作时,大写锁定是如何为每个字的首字母,同时使用文本区域中键入角度

+1

“这并不当大写锁定是上工作”。所以你也想强制每个单词的其余字母小写? – blex

+0

是的,先生。因为上面的CSS属性不工作时,大写锁定是 –

回答

2

与框架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>

+0

非常感谢。它的工作很棒。 (Y) –

+1

好帮手..你应该选择一个正确的答案为您的问题 –

3

下面是一个简单的演示,在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>

1

最好使用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>

+0

对不起,它不工作时,大写锁定是:( –

+0

@Varunverma检查编辑答案,修复它:) – kukkuz

0

可以使用

<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(); 
    }); 

}; 
+0

嗨。我尝试了上述解决方案。但大写锁定打开时它不起作用。 –

+0

可以尝试更新的答案@Varunverma –

相关问题