У меня есть этот код ниже, чтобы установить флажок в моем DataTable
и получить IDs
и сохранить его в массиве. Для примера у меня есть 2 отдельно DataTables
Первый для президента, а второй - для сенаторов.Ограничить проверку, checkbox in bootstrap dataTable
Мы знаем, что мы можем голосовать только 1 в президенте, а для сенаторов мы можем выбирать многие.
Моя проблема здесь. Я могу проверить, сколько флажков в DataTables
. Как ограничить отмеченные флажки ?.
Все еще учится в бутстрапе здесь.
JS код
var dataTablestest = $("#tbltest").DataTable({
responsive: true,
processing: true,
info: true,
search: true,
stateSave: true,
order: [[1, "asc"], [2, "asc"]],
lengthMenu: [[50, 100, 200, -1], [50, 100, 200, "All"]],
ajax: { "url": "/Voting/LoadTableTest" },
columns:
[
{ data: "testID", title: "", visible: false, searchable: false },
{ data: "Fullname", title: "FullName", sClass: "alignRight" },
{ data: "Position", title: "Position", sClass: "alignRight" },
{ data: "party", title: "Party", sClass: "alignRight" },
{ data: "ActionMenu", title: "Click to vote", searchable: false, orderable: false, sClass: "alignCenter",
"mRender": function (data) {
return '<center><label><input class="checkId" type="checkbox" id="chkvote_' + data + '" value=""/></label></center>';
}
}
]
});
var arrayIds = [];
$('#tbltest tbody').on('click', 'tr', function (e) {
if ($(e.target).is(".checkId")) {
var Ids = dataTablestest.row(this).data().testID;
arrayIds.push(Ids);
return
}
});
EDIT
Я нашел ответ, но есть проблема с этим. Мой счетчик продолжает увеличиваться каждый раз, когда я устанавливаю флажок из моей таблицы данных.
$('#tbltest tbody').on('click', 'tr', function (e) {
if ($(e.target).is(".checkId")) {
if ($(e.target).is(":checked") == true) {
CheckCount = CheckCount + 1;
var Ids = dataTablestest.row(this).data().testID;
if (CheckCount > 1) {
return false;
}
arrayIds.push(Ids);
return
}
else {
CheckCount = parseInt(CheckCount) - parseInt(1);
}
}
});