В моем угловом приложении я динамически создаю таблицу из javascript.привязка флажка не работает в динамически созданной колонке
$("#tableName").html("<table id='dtData' name='dtData' dt-options='dtOptions' dt-columns='dtColumns' class='table table-striped table-bordered'></table>");
вот как я генерация столбцов
var header = data[0], dtColumns = [];
//create columns based on first row in dataset
for (var key in header)
{
// console.log(key);
if(key == "sendEmail")
{
dtColumns.push(DTColumnBuilder.newColumn(key).withTitle("Send Email").renderWith(actionsHtml));
}
else
{
dtColumns.push(DTColumnBuilder.newColumn(key).withTitle(key));
}
}
это actionsHtml
функция
function actionsHtml(data, type, full, meta) {
return '<input type="checkbox" name="sendEmail" value="' + data+'">';
}
И здесь я завершаю эту таблицу
$scope.dtColumns = dtColumns;
//create options
$scope.dtOptions = DTOptionsBuilder.newOptions()
.withOption('data', data)
.withOption('dataSrc', '');
//initialize the dataTable
angular.element('#dtData').attr('datatable', '');
$compile(angular.element('#dtData'))($scope);
Это создает таблицы и затем столбец типа флажка, но он не привязывает значение к флажку. Вот таблица
и консольное значение столбца
Но проблема .. chechbox колонок привязка не работает .. или я проверить/снимите его с HTML или JavaScript, то не вносит изменений в таблицу/исходный список.
Любая помощь будет оценена по достоинству.
Любой шанс вы могли бы м ake [Plunker] (https://plnkr.co/), демонстрирующий проблему? – Fissio
на самом деле слишком плохо, чтобы сделать плункер, но я попробую –
Используйте атрибут 'checked' вместо' value' ([doc] (https://developer.mozilla.org/en/docs/Web/HTML/Element/Input/) флажок)). Вы компилируете шаблон, но в нем нет привязки, поэтому привязка не работает, используйте ng-bing или ng-checked вместо '+ data +'. – etiennecrb