@faragly

Как изменить ссылку, хранящуюся в ng-click?

Здравствуйте! Подскажите, имеется строки в таблице для множественного добавления элементов в БД, при нажатии на "еще поле" динамически добавляется новая строка в таблице с полями. Так вот в каждой строке есть button, на нем навешан ng-click на открытие нового окна браузера и в ней же прописана ссылка. При создании новой строка таблицы нужно менять значение ng-click, точнее менять ссылку... Но как не меняй, открывается ссылка из самой первой строки таблицы.

Немного кода:
<button type="button" class="adm-btn" ng-click="jsUtils.openWindow('/element_search.php?lang=ru&amp;id=16&amp;n=news[n0]', 600, 500);">Выбрать</button>

После создания новой строки нужно поменять id с ссылке. Как сделать так чтобы ссылка открывалась ИЗМЕНЕННАЯ, а не та что была самая первая?
  • Вопрос задан
  • 349 просмотров
Пригласить эксперта
Ответы на вопрос 3
@faragly Автор вопроса
Не могу простить себе этот мегакостыль... Лучше можно?
input.next("button").replaceWith($compile('<button type="button" class="adm-btn" ng-click="'+input.next("button").attr("ng-click")+'"></button>')($scope));
Ответ написан
Комментировать
miraage
@miraage
Старый прогер
Уууу. Такие вещи надо изначально оформлять директивой. И в зависимости от условий выполнять n-ные действия.
Ответ написан
Комментировать
Terminaft
@Terminaft
Контроллер
function tableController() {
    var trArray = []; // [{id: 1, ...}, {id: 2, ...}, ...];
    this.getTrArray = function() { return trArray; }
    this.openWindow = openWindow;

    function openWindow(tr) {
        jsUtils.openWindow('/element_search.php?lang=ru&amp;id=' + tr.id + '&amp;n=news[n0]', 600, 500);
    }
}


Шаблон
<tr ng-repeat="tr in tableCtrl.getTrArray() track by $index">
    <td>...</td>
    <td><button type="button" class="adm-btn" ng-click="tableCtrl.openWindow(tr)">Выбрать</button></td>
</tr>
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы