2017-05-29 4 views
-2

Guten Tag. Ich habe ein Problem. Ich habe eine Eingabe, wo ich einige Informationen geschrieben habe.Fügen Sie Platz nach Punkt hinzu

Beispiel:

<div class="wizard wizardstep1" ng-controller='someCtrl'> 
     <p class="wizardtitle">Put you Theme</p> 
     <input id="taskTheme" required type="text" placeholder="Put you Theme" ng-model="taskThemeWizardInputValue" ng-change="checkThemeWizardInputValue()"> 
    </div> 

Und ich habe mein Controller bekam.

Beispiel:

$scope.checkThemeWizardInputValue = function() { 
        if ($scope.taskThemeWizardInputValue === undefined) { 
         $scope.taskThemeWizardInputValue = ""; 
         console.log($scope.taskThemeWizardInputValue); 
         console.log($scope.taskThemeWizardInputValue.length); 
        } else { 
         var strt = $scope.taskThemeWizardInputValue.split('.'); 
         for (var i = 0 ; i < strt.length; i++) { 
          strt[i] = strt[i].charAt(0).toUpperCase() + strt[i].substr(1); 
         } 
         $scope.taskThemeWizardInputValue = strt.join('.'); 
         console.log($scope.taskThemeWizardInputValue); 
         console.log(strt); 
        } 
       } 

Wie ich Raum nach Punkt hinzufügen kann? Wer weiß?

Here is link to jsfiddle with my example.

+0

Auf welcher Linie, die Sie ändern wollen? –

+0

wenn in meiner Antwort beitreten. –

+0

Sie wollen also so: Abc. Def. Bhi? –

Antwort

0

Wir es jedem gespaltet Saite andere als erste und eine leere Zeichenfolge durch Hinzufügen Raum erreichen

function someCtrl($scope) { 
 
    $scope.checkThemeWizardInputValue = function() { 
 
\t \t \t \t  if ($scope.taskThemeWizardInputValue === undefined) { 
 
\t \t \t \t   $scope.taskThemeWizardInputValue = ""; 
 
\t \t \t \t   console.log($scope.taskThemeWizardInputValue); 
 
\t \t \t \t   console.log($scope.taskThemeWizardInputValue.length); 
 
\t \t \t \t  } else { 
 
\t \t \t \t   var strt = $scope.taskThemeWizardInputValue.split('.'); 
 
\t \t \t \t   for (var i = 0 ; i < strt.length; i++) { 
 
        var addSpace=''; 
 
        if(i>0 && strt[i].trim().length>0){ 
 
        addSpace=' '; 
 
        }      
 
\t \t \t \t    strt[i] = addSpace+strt[i].trim().charAt(0).toUpperCase() + strt[i].trim().substr(1); 
 
\t \t \t \t   } 
 
\t \t \t \t   $scope.taskThemeWizardInputValue = strt.join('.'); 
 
\t \t \t \t   console.log($scope.taskThemeWizardInputValue); 
 
\t \t \t \t   console.log(strt); 
 
\t \t \t \t  } 
 
\t \t \t \t } 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app> 
 
    <div class="wizard wizardstep1" ng-controller='someCtrl'> 
 
     <p class="wizardtitle">Put you Theme</p> 
 
     <input id="taskTheme" required type="text" placeholder="Put you Theme" ng-model="taskThemeWizardInputValue" ng-change="checkThemeWizardInputValue()"> 
 
    </div> 
 
</div>

0

Sie können dies einfach tun, indem strt.join('.') zu strt.join('. ') ändern.

+0

Leider kann ich dich nicht ablehnen. Da zuerst schauen, wie Sie zur Arbeit kommen und als Arbeit Beispiel plz schreiben. –

1
$scope.checkThemeWizardInputValue = function() { 
    if ($scope.taskThemeWizardInputValue === undefined) { 
     $scope.taskThemeWizardInputValue = ""; 
     console.log($scope.taskThemeWizardInputValue); 
     console.log($scope.taskThemeWizardInputValue.length); 
    } else { 
     var strt = $scope.taskThemeWizardInputValue.split('.'); 

     for (var i = 0 ; i < strt.length; i++) { 
     strt[i] = strt[i].trim(); 
     if(strt[i].length > 0) { 
      strt[i] = ' '+strt[i].charAt(0).toUpperCase() + strt[i].substr(1); 
     } 
     } 
     $scope.taskThemeWizardInputValue = strt.join('.'); 
     console.log($scope.taskThemeWizardInputValue); 
     console.log(strt); 
    } 
    } 

Dies funktioniert fiddle

+0

Es funktioniert nicht, wenn ich die Rücktaste nach 'drücke. ' –

+0

Yeap. Rücktaste nach Punkt funktioniert nicht. –

+0

eine Sekunde können Sie dies ohne zweite tun, Sie können es in einem für tun. Aber das Problem mit der Rücktaste haben immer noch. –

0

Ich schlage vor, eine directive so zu schaffen, dass Sie dieses Verhalten bei Bedarf Plugin kann., Anstatt Ihre ng-change in jedem Controller zu schreiben.

In der Richtlinie einfache Linie element.val(event.target.value.split(".").join(". ")); wird für Sie arbeiten., Mit Hilfe der Direktive controller Parameter.

Siehe Beispiel fiddle

Verwandte Themen