2015-03-18 2 views
1

Я использую директиву Xeditable для редактирования.Set Variable Inside Xeditable Row

У меня есть два выпадающих меню, и когда один изменяется, я хочу обновить другое. Проблема в том, что Xeditable создает дочернюю область при редактировании формы. Я не могу понять, как установить переменную в рамках этого дочернего элемента, так что переменная существует только в области этой строки таблицы.

Я попытался

e-ng-init="myChildVariable = 1" 

Тогда

e-ng-change="myChildVariable =2" 

Но это, кажется, не обновляется, когда я прослеживать {{myChildVariable}}.

Внутри директивы, он создает эту область:

var self = this; 
    self.inputEl.bind('change', function() { 
     self.scope.$apply(function() { 
     self.scope.$form.$submit(); 
     }); 
    }); 

XEditable может передать текущий выбор из выпадающего списка в $ данных. Поэтому я попытался передать его функции в контроллер:

e-ng-change="updateVarible($data)" 

, но это обновляет размер $ parent.

Мне нужен первый выбор, чтобы установить переменную и вторую для фильтрации. У меня работает фильтр, мне просто нужно установить переменную, к которой может обратиться второй.

<span editable-select="user.status" e-ng-change="setVariableHereSomehow" e-form="rowform" e-ng-options="s.value as s.text for s in statuses"> 
     {{ showStatus(user) }} 
    </span> 

    <span editable-select="user.group" e-name="group" onshow="loadGroups()" e-form="rowform" e-ng-options="g.id as g.text for g in groups | filter: useTheVariableHere"> 

Xeditable демо редактирования строки для справки:

http://jsfiddle.net/NfPcH/93/

Примечание: Я использую 1.3 и демо использует 1.0.8, так что я могу использовать новые фильтры.

При использовании Xeditable, как я могу установить переменную внутри ng-repeat, которая привязывает к себе, а не к родительскому?

ответ

0

Использование электронной нг-OnChange:

e-ng-change="changeStatus($data,user)" 

Вот jsfiddle ссылка, что я сделал. Были внесены некоторые изменения в контроллер. Например, я выбираю группы. Изменение статуса на Status4 изменит группу для пользователя.

http://jsfiddle.net/leeray75/jwv29g1m/

+0

Спасибо, это то, что я думал. Я надеялся, что есть встроенный способ, но похоже, что пользовательская функция будет в порядке. – User970008