Угловой Xeditable раскрывающийся e-ng-change не работает

я используюУгловой Xeditable api. Мне нужно изменить значение текстового поля в соответствии со значением раскрывающегося списка. Но это не работает. Не могли бы вы сказать мне, почему? Благодарю.

Html

<td>
<span editable-select="user.status" e-form="tableform" e-ng-options="s.value as s.text for s in statuses" e-ng-change="setName($data,user)">
   {{ showStatus(user) }}
</span>
</td>

JS

 $scope.setName = function (id, user) {
                var selected = [];
                if (id) {
                    selected = $filter('filter')($scope.statuses, { value: id });
                }

                if (selected.length) {
                    user.name = selected[0].text;
                }
            };

Сгенерированный HTML : вы можете видеть, что текст имени изменен, как и ожидалось (status3). Но текстовое поле не обновляется должным образом. Другими словами, это не отображается в текстовом поле. Почему?

<td>
  <!-- editable username (text with validation) -->
 <span editable-text="user.name" e-form="tableform" onbeforesave="checkName($data, user.id)" class="ng-scope ng-binding editable editable-hide">
             status3
  </span><span class="editable-wrap editable-text ng-scope"><div class="editable-controls form-group" ng-class="{'has-error': $error}"><input type="text" class="editable-input form-control ng-pristine ng-valid" ng-model="$data"><div class="editable-error help-block ng-binding" ng-show="$error" ng-bind="$error" style="display: none;"></div></div></span>
</td>

ОБНОВИТЬ :

Я попытался, как это. Но тогда он меняет все значения строк. Так как я могу обнаружить только измененную строку?

 $scope.setName = function (id, user,form) {
                var selected = [];
                if (id) {
                    selected = $filter('filter')($scope.statuses, { value: id });
                }

                if (selected.length) {
                    for (var i = 0; i < form.$editables.length; i++) {
                        if (form.$editables[i].name === 'user.name') {
                           form.$editables[i].scope.$data ="sampath"                             
                        }
                      }
                }
            }; 

ЗдесьJsFiddle

Ответы на вопрос(2)

Ваш ответ на вопрос