Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Определение индекса cheched для колонки таблици (https://javascript.ru/forum/jquery/74325-opredelenie-indeksa-cheched-dlya-kolonki-tablici.html)

Black_Star 01.07.2018 18:38

Определение индекса cheched для колонки таблици
 
Добрый день уважаемые. Пробую разработать плагин который выводил бы контент нужных полей из таблицы админовской части, на клиеенскую в зависимости от нажатых checkbox-ов. Вот пример https://jsfiddle.net/68Leqfy3/18/ Столкнулся с проблемой правильной выборки чекнутых checkbox-ов Функция checkForEnterCheckbox() Моя задача -
1)Проверить в начале загрузки все чекбоксы .bl_checkedColumn__checkbox на их чекнутость, если, да, то узнать их индексы относительно родителей и записать их в массив checkedCheckBoxes (сейчас возвращает бред, -1 в консоле)
2) Подставить эти индексы Относительно следующих полей с data-casinotable-name . (Иначе говоря надергать значения этих полей)
3) Перелазить значениями этих полей val для элементов
.js-showColumns (Поле отвечает за отображение нужных колонок таблици), .js-queueColumn(поле отвечает за порядок отображение колонок из админки)
4) Перезапускать фунцию checkForEnterCheckbox() каждый раз когда checkbox активируеться/деактивируеться или происходит перемещение колонок местами

Подскажите, пожалуйста как реализовать ? Застрял на выборке этих индексов :-?

laimas 01.07.2018 18:59

Цитата:

Сообщение от Black_Star
на их чекнутость

:D

laimas 01.07.2018 19:04

Цитата:

Сообщение от Black_Star
узнать их индексы относительно родителей

Каких? Если родителей, то всегда 0, а вот если общего родителя (tr), тогда иной вопрос.

рони 01.07.2018 19:21

Black_Star,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

  <script>
$(function() {
function checkIndex(cls)
{
  return [].reduce.call(document.querySelectorAll(cls), function(arr, elem, i) {
      elem.checked && arr.push(i);
      return arr
   },[])
}
var checkedCheckBoxes = checkIndex(".bl_checkedColumn__checkbox")

alert(JSON.stringify(checkedCheckBoxes, null, 1));
});
  </script>
</head>

<body>
<input class="bl_checkedColumn__checkbox" type="checkbox" checked>
<input class="bl_checkedColumn__checkbox" type="checkbox" checked>
<input class="bl_checkedColumn__checkbox" type="checkbox">
<input class="bl_checkedColumn__checkbox" type="checkbox" checked>
</body>
</html>

Black_Star 01.07.2018 19:34

Спасибо, рони, но что-то прозрения не настало Почему не тянется индекс родителя ?

рони 01.07.2018 19:38

Black_Star,
не понимаю что вам нужно, можно максимально упростить макет и показать результат, который хотите получить?

Black_Star 01.07.2018 19:47

Цитата:

Сообщение от рони (Сообщение 488745)
Black_Star,
не понимаю что вам нужно, можно максимально упростить макет и показать результат, который хотите получить?

Да, если общая структура останется. Лично у меня сейчас вызывает затруднение получение индексов активированных чекбоксов и привязка к ним необходимых data-casinotable-name у следующего рядка

рони 01.07.2018 19:50

Black_Star,
?

Black_Star 01.07.2018 20:19

Повыбрасывал весь лишний контент. https://jsfiddle.net/68Leqfy3/31/ Как добиться значения индексов столбцов с активными чекбоксами ?

рони 01.07.2018 20:39

Цитата:

Сообщение от Black_Star
Как добиться значения индексов столбцов с активными чекбоксами ?

почему вас не устраивает решениие из поста №4?


Часовой пояс GMT +3, время: 11:03.