Добавить атрибут в флажок Backgrid
Здравствуйте, ребята, я использую backgrid для рендеринга моей таблицы, у которой случайно также есть несколько флажков. Теперь я хочу добавить 2 атрибута к этим флажкам, но я не могу понять, как это сделать. Может кто-нибудь сказать мне, как я могу это сделать. Спасибо
HTML
<div id="dayResult" class="backgrid-container" style="width: 139PX; height: initial; "></div>
JS
var grid1 = new Backgrid.Grid({
columns: [ {
name: "name",
label: "",
cell: "string"
},{
// name is a required parameter, but you don't really want one on a select all column
name: " ",
// Backgrid.Extension.SelectRowCell lets you select individual rows
cell: "select-row",
// Backgrid.Extension.SelectAllHeaderCell lets you select all the row on a page
// headerCell: "select-all",
}],
collection: new Backbone.Collection([
{"name": "Monday"},
{"name": "Tuesday"},
{"name": "Wednesday"},
{"name": "Thursday"},
{"name": "Friday"},
{"name": "Saturday"},
{"name": "Sunday"}
])
});
$("#dayResult").append(grid1.render().el);
Файлы, которые включены для этого
CSS
<link href="../assets/css/backgrid.css" rel="stylesheet" />
<link href="../assets/plugins/backgrid-selectall/css/backgrid-select-all.css" rel="stylesheet" />
<link href="../assets/plugins/switchery/switchery.min.css" rel="stylesheet" />
JS
<script src="https://cdn.rawgit.com/jashkenas/underscore/1.5.2/underscore.js"></script>
<script src="https://cdn.rawgit.com/jashkenas/backbone/1.1.0/backbone.js"></script>
<script src="https://cdn.rawgit.com/wyuenho/backbone-pageable/master/lib/backbone-pageable.js"></script>
<script src="https://cdn.rawgit.com/wyuenho/backgrid/master/lib/backgrid.js"></script>
<script src="./assets/plugins/backgrid-selectall/js/backgrid-select-all.js" ></script>
<script src="./assets/plugins/switchery/switchery.js"></script>
URL CDN
Switchery
https://cdn.rawgit.com/abpetkov/switchery/master/switchery.css
https://cdn.rawgit.com/abpetkov/switchery/master/switchery.js
Backgrid
https://cdn.rawgit.com/wyuenho/backgrid/master/lib/backgrid.css
https://cdn.rawgit.com/wyuenho/backgrid-select-all/master/backgrid-select-all.css
https://cdn.rawgit.com/wyuenho/backgrid/master/lib/backgrid.js
https://cdn.rawgit.com/wyuenho/backgrid-select-all/master/backgrid-select-all.js
1 ответ
Вам нужно продлить render()
метод ячейки вашего флажка.
Я делаю что-то подобное для добавления атрибутов в мои изображения-флажки. Я не использую подход "select-row", но я уверен, что вы можете расширить его следующим образом:
cell: Backgrid.Cell.extend({
className: '4YearDegree',
render: function() {
var degree = this.model.get("Degree");
var src = '';
var altText = '';
if (degree) {
src = '../Content/Images/enabled_checkmark.png'; //display enabled checkmark image
altText = 'is checked';
} else {
src = '../Content/Images/disabled_checkmark.png'; //display disabled checkmark image
altText = 'is unchecked';
}
this.$el.html($('<img>').attr('src', src).attr('alt', altText));
return this;
}
})
Ключевая часть кода выше - это строка:
this.$el.html($('<img>').attr('src', src).attr('alt', altText));
Я использую его, чтобы добавить "altText" к моим изображениям галочки.
Попробуйте добавить свои собственные атрибуты таким образом. Это может / должно работать.