从JSON生成大写或小写的文本

时间:2017-02-28 12:30:31

标签: javascript angularjs json

当我正在动态大写时遇到问题。在我的代码中,我可以将任何字母大写,但它不是动态的,程序应该猜测它应该大写哪个字母。例如,一些文本来自JSON,应该有一些比较检查文本字母和用户输入的字母,然后他应该猜测他必须大写哪个字母。如果有一些解决方案,请告诉我。

这是我的代码

的index.html

<textarea id="fieldId" class="textarea" style="resize: none" cols="30" row="2" ui-mask="{{typetext}}" ng-model="model" data-ng-trim="fasle" ng-trim="false" ng-focus="expression">
</textarea>

的script.js

link: function(scope, iElement, iAttrs, controller) {
    controller.$parsers.push(function(inputValue) {
        var transformedInput = '';
        if (inputValue) {
            for (var i = 0; i < inputValue.length; i++) {
                if (i === 0 || i === 5) {
                    transformedInput += inputValue.charAt(i).toUpperCase();
                } else {
                    transformedInput += inputValue.charAt(i).toLowerCase();
                }
            }
        }
        if (transformedInput != inputValue) {
            controller.$setViewValue(transformedInput);
            controller.$render();
        }
        return transformedInput;
    });
})

控制器

app.controller('myController', ['$scope', '$document', function($scope, $document) {
    $scope.typetext = "Some Text";
    $document.on('keydown', function(e) {
        if (e.which === 8 && e.target.nodeName !== "INPUT") {
            e.preventDefault();
        }
    });
}])

Demo HERE

0 个答案:

没有答案