Господа, спасибо всем кто ответит. Для меня всё что связано с фронтом сущий кошмар… Чтобы не тратить Ваше время, опишу подробнее. С большими кусками кода. У меня есть 42 чек-бокса по которым мне надо включать и отключать видимость столбцов. Вот HTML для чекбоксов:
<div class="row">
<div class="col-1">
<input type="checkbox" class="" data-column="1" id="depotID" ng-change="vm.coluVisi()" ng-model="vm.depotID">
<label class="" for="">DepotID</label>
</div>
<div class="col-1">
<input type="checkbox" class="" data-column="2" id="depotBezeichnung" ng-change="vm.coluVisi()" ng-model="vm.depotBezeichnung">
<label class="" for="">DepotBezeichn.</label>
</div>
<div class="col-1">
<input type="checkbox" class="" data-column="3" id="plattform" ng-change="vm.coluVisi()" ng-model="vm.plattform">
<label class="" for="">Plattform</label>
</div>
<div class="col-1">
<input type="checkbox" class="" data-column="4" id="bezeichnung" ng-change="vm.coluVisi()" ng-model="vm.bezeichnung">
<label class="" for="">Bezeichnung</label>
</div>
<div class="col-1">
<input type="checkbox" class="" data-column="5" id="handelstag" ng-change="vm.coluVisi()" ng-model="vm.handelstag">
<label class="" for="">Handelstag</label>
</div>
<div class="col-1">
<input type="checkbox" class="" data-column="6" id="iSIN" ng-change="vm.coluVisi()" ng-model="vm.iSIN">
<label class="" for="">ISIN</label>
</div>
<div class="col-1">
<input type="checkbox" class="" data-column="7" id="geschaeftsart" ng-change="vm.coluVisi()" ng-model="vm.geschaeftsart">
<label class="" for="">Geschaeftsart</label>
</div>
и т.д.
…………… ……………
У меня компонент с HTML связан вот так: (function () { ‘use strict’;
angular .module(‘app’) .component(‘abrechnungen’, { templateUrl: ‘/Scripts/app/abrechnungen/abrechnungen.template.html’, controller: AbrechnungenController, controllerAs: ‘vm’, require: { appCoreCtrl: ‘^^appCore’ } });
AbrechnungenController.$inject = ['$timeout','appDataService', 'DTOptionsBuilder', 'DTColumnDefBuilder', 'DTColumnBuilder', 'dtLanguageDe', '$scope'];
function AbrechnungenController($timeout, appDataService, DTOptionsBuilder, DTColumnDefBuilder, DTColumnBuilder, dtLanguageDe, $scope) {
var vm = this;
vm.$onInit = onInit;
// Variablen
if (localStorage.getItem('datumVon')) {
vm.datumVon = localStorage.getItem('datumVon');
}
else {
vm.datumVon = moment().startOf('month').toDate();
}
if (localStorage.getItem('datumBis')) {
vm.datumBis = localStorage.getItem('datumBis')
}
else {
vm.datumBis = moment().toDate();
}
…….
// Methoden
vm.initDtAbrechnungen = initDtAbrechnungen;
vm.initDateRangePicker = initDateRangePicker;
vm.getDepotBezeichnungen = getDepotBezeichnungen;
vm.getPlattforms = getPlattforms;
vm.getAbrechnungsWaehrungen = getAbrechnungsWaehrungen;
…….
///
/// BODY
/////////////////////////////////////
function onInit() {
vm.initDateRangePicker();
vm.initDtAbrechnungen();
vm.getDepotBezeichnungen();
vm.getPlattforms();
vm.getAbrechnungsWaehrungen();
}
// и там ниже
function coluVisi() {
// Get the column API object
var XX = $(this).attr('data-column'); // не правильно! Но Мне нужно как то получить ХХ
var col = vm.dtInstance.DataTable.column(XX);
// Toggle the visibility
col.visible(!col.visible());
} И вот функция в AngularJS компоненте, котороя нуждается в значении data-column=«ХХ»:
function coluVisi() {
// Get the column API object
var XX = $(this).attr('data-column'); // не правильно! Но Мне нужно как то получить ХХ
var col = vm.dtInstance.DataTable.column(XX);
// Toggle the visibility
col.visible(!col.visible());
} Мне нужно как то получить ХХ, я бъюсь уже непозволительное количество часов! Это же скорее всего как-то очень не сложно, но я почему то не могу найти как написать… HELP