Удалить элемент из массива, если флажок установлен неверно

  • Автор темы Hocopor
  • 45
  • Обновлено
  • 12, May 2024
  • #1
С помощью кода, который я опубликовал, я могу нормально добавить в массив, но как удалить его из массива, если флажок не установлен.

Любая помощь будет принята с благодарностью.

Большое спасибо
 $(function() {

info = [];

$(document).on('click', '.rowChk', function () {

if($(this).is(':checked')) {

$('#rowClk').show();

var currentRows = $(this).closest("tr");

var rackid = currentRows.find("td:eq(0)").html();

data = {};

data.id = rackid;

info.push(data);

//console.log(data);

//console.log(info.length);

} else {

delete [info.id]; <--- Need to delete checkbox value from array -->

//console.log(info.length);

if(info.length === 0) {

$('#rowClk').css('display','none');

}

}

});

});
Код (javascript): PS. Я не вижу способа форматировать код в редакторе.

Есть ли вариант?

Hocopor


Рег
11 Jul, 2014

Тем
1

Постов
2

Баллов
12
  • 19, May 2024
  • #2
@deathshadow Спасибо за ответ.

Однако ваши комментарии меня смутили.

Например, функция скрытия/показа заключается в том, что если пользователь нажимает флажок, то отображается кнопка действия, чтобы он мог выполнить действие в этой строке в таблице.

Если флажок снят, кнопка скрыта, поэтому пользователи не могут вводить нулевые значения и т. д. Почему ты не можешь понять, что я пытаюсь сделать? очень просто: если пользователь устанавливает флажок, добавьте значения строк таблицы в массив.

Если флажок снят, удалите это значение из массива.

(Надеюсь, это понятнее). Не могли бы вы сделать пример разметки на основе ваших комментариев.

Большое спасибо.
 

Olejon


Рег
28 Jun, 2011

Тем
0

Постов
7

Баллов
7
  • 05, Jun 2024
  • #3
1) Предлагаю отключить редактор скрипттардов на этих форумах и просто использовать bbCode. bbCode похож на HTML, но с [] вместо <>. Для форматирования кода вы просто оборачиваете свой контент в [код]Ваш код[/код] Таким образом:
 
info[Element.name] = Element.value; // set it
delete info[Element.name]; // remove it
Код (разметка): https://en.wikipedia.org/wiki/BBCode

2) Трудно даже понять, что делает ваш сценарий (или даже должен делать) без разметки, которой он манипулирует. 3) Это еще один ПОТРЯСАЮЩИЙ пример того, почему умственный карлик, которым является jQuery, не делает ничего, кроме как мочиться на веб-сайте.

ЕДИНСТВЕННОЕ, чему вы можете научиться из этого, - это тому, как НЕ использовать JavaScript.

ни для чего.

ВСЕГДА.
ЕСЛИ Я следую вашему намерению — никаких гарантий — тогда я бы использовал объект вместо массива. Он одинаково итеративен, и с ним проще работать. Я бы также ловил «изменение», а не «щелчок», или, возможно, и то, и другое, если бы меня заботил устаревший IE. (чего я больше не делаю со сценариями, пусть они плавно перейдут на версию сайта без сценариев.). Следовательно, если бы информация была {} вместо [], вы могли бы сделать:
 Your code
Код (разметка): где элемент — это фактический флажок INPUT.

Помните, что объекты JavaScript являются перечислимыми, поэтому вы можете обращаться с ними так же, как с индексированными массивами PHP. Но учитывая, что я даже не могу понять, что ты пытаешься сделать? Да, это проблема.

Я имею в виду, почему ты показываешь/прячешь? Если он скрыт, как его отключить? Что делает отображение/скрытие каких-либо аспектов JavaScript? Не могли бы вы использовать и input:checked для выполнения большей части тяжелой работы?
 

Aaalesia


Рег
01 Jan, 2011

Тем
0

Постов
2

Баллов
2
  • 09, Jun 2024
  • #4
Зачем вы отслеживаете их в массиве, если у вас есть флажок и совершенно хорошие существующие значения? Это та часть, которую я не понимаю. Забавно, вы просили пример разметки, хотя я собирался предложить то же самое.

Я «контентно-ориентированный» разработчик, поэтому мне как бы нужно видеть данные или их факсимиле, чтобы хотя бы попытаться понять, что вы говорите.

На данный момент это звучит так, будто вы хотите использовать JavaScript для чего-то, что больше похоже на задачу на стороне сервера.

по сути, это даже не касается JavaScript.

(также известные как данные формы)
 

Maxim Tunik


Рег
23 Oct, 2012

Тем
1

Постов
3

Баллов
13
Тем
49554
Комментарии
57426
Опыт
552966

Интересно