Для каждой записи в моем <table>
У меня есть флажок. Когда этот флажок щелкнул, значение ID посылается в массив для записи, что проверяется:Заполнение массива с помощью «Выбрать все» Флажок
function setIds(){
var recordIds = []; //array to store IDs
$(".row-check").change(function(e){
var checkedRecord = dataTable.getRecord(e.currentTarget.id); //gets ID of record object
var id = checkedRecord.toJSON().id;
if(this.checked){
recordIds.push(id);
} else { // Return array record ID that was unchecked
recordIds.splice($.inArray(id, recordIds), 1);
}
console.log(recordIds);
});
}
У меня также есть флажок в моем заголовке таблицы, которая проверяет все записи на столе:
function selectAll(){
$('input[name="all"]').click(function() {
$('input[name="row-check"]').prop('checked', this.checked);
});
}
Вот как таблица выглядит (Потому что мне нравится болван)
Однако функция .change()
не подхватывает запись выбранной когда я выбираю «выбрать все» флажок. Я попытался установить метод .row-check .change() в моей функции selectAll
, но не повезло. Как я могу отправить все свои идентификаторы в массив, когда установлен флажок «Выбрать все»?
Будьте осторожны с вашим 'splice()' ... если этот идентификатор не находится в массиве, это приведет к хаосу с использованием '-1' в качестве значения сплайсинга – charlietfl
http://stackoverflow.com/questions/4247264/how -в-триггер-JQuery-изменение-событие-в-код –