Значение индекса массива при установке флажка - JavaScript

У меня есть массив JSON с двумя флажками. При установке флажка мне нужно получить индекс массива установленного флажка. Любая помощь будет оценена

data.json

"contents" : [
    {
        "title" : "Book1",
        "type" : "CHECKBOX"
    },
    {
        "title" : "Book2",
        "type" : "CHECKBOX"
    }
]

templates.json

{
"checkboxTemplate": "<div style='width:15px'><input type='checkbox' id='myCheck' onClick='myFunction()'></div>"
}

В контроллере data.json считывается и сохраняется в массиве datalist.

    function myFunction() {

      var checkBox = document.getElementById("myCheck");
      for (var i = 0; i < datalist.length; i++) {
            if (checkBox.checked == true){
                alert("Checked");
             }
                else
                {
                    alert("Unchecked");

                }
            }
      }

HTML

<div id = "container" ng-controller = "ContentCtrll as ctrll">
    <content-item ng-repeat = "item in ctrll.content" content = "item">
    </content-item>
</div>

Пожалуйста, предоставьте дополнительный код!

Meziane 15.11.2018 13:21

Добавьте HTML-код, отображающий ваш флажок, обработчик кликов для флажка. Откуда в вашем цикле for берется переменная checkBox?

Jens Wegar 15.11.2018 13:23

Какой HTML у ваших флажков?

Mohammad 15.11.2018 13:36

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

Shilly 15.11.2018 13:37

Если, как вы утверждаете, «массив списков данных содержит массив JSON», то dataList.length не будет работать. JSON - это текст. dataList будет строкой. Вам нужно будет запустить на нем JSON.parse (), прежде чем вы сможете его использовать. Так что нет, dataList - это не «массив JSON», это массив JavaScript. Пожалуйста, поймите разницу и используйте правильную терминологию. Прочтите аннотацию к тег "json" и обратите внимание на особенности JSON и литералов JS. Вы можете подумать, что это педантично, но если вы собираетесь использовать технический термин, вам следует использовать его правильно. Я отредактировал ваш вопрос

ADyson 15.11.2018 13:46

В любом случае неясно, как массив каким-либо образом связан с вашими флажками ... имеют ли флажки какой-либо атрибут, который сопоставим с содержимым массива? например может быть, идентификатор или атрибут данных? Как просили другие, покажите соответствующий HTML.

ADyson 15.11.2018 13:50

You templates.json предполагает, что вы используете повторяющиеся идентификаторы, что является недопустимым HTML и необходимо исправить.

connexo 15.11.2018 13:52

Чтобы было понятнее: у вас не может быть двух или более элементов на странице с одним и тем же значением id.

connexo 15.11.2018 14:01
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
8
347
0

Другие вопросы по теме