2014-12-16 2 views
1

Я использую PhoneFormat для форматирования номера телефона в моем приложении angularjs. На чистой странице дисплея следующая строка кода работает хорошо.angularjs phoneformat Редактировать страницу

<td>{{contact.PhoneNumber | tel}}</td> 

Но в Edit или создать новую страницу, следующая строка кода не работает. Значит, он не форматируется (xxx) xxx-xxxx .. Он просто выглядит как номер 7145551212.

<div class="form-group"> 
    <label class="col-sm-3 control-label" for="PhoneNumber">Cell Phone Number</label> 
    <div class="col-sm-9" > 
     <input type="text" data-ng-model="contact.PhoneNumber | tel" id="PhoneNumber" name="PhoneNumber" class="form-control" /> 
    </div> 
</div> 

код фильтра выглядит следующим образом:

angular.module('appointmentReminderApp') 
.filter('tel', function() { 
    return function (phoneNumber) { 
     if (!phoneNumber) 
      return phoneNumber; 

     return formatLocal('US', phoneNumber); 
    } 
}); 
+0

может у поста код для 'фильтра tel'? –

+0

Что такое 'formatLocal()' функция? –

ответ

2

вы можете отформатировать его внутри контроллера и присвоить это значение для моделирования

для экс:

$scope.PhoneNumber = $filter("tel")(7145551212); 

и не забудьте ввести $filter в контроллер как.

app.controller("testCtrl" , function($scope , $filter) {.... 

вот простой демо Fiddle

Смежные вопросы