Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Создание массива с id чекбоксов (https://javascript.ru/forum/dom-window/49523-sozdanie-massiva-s-id-chekboksov.html)

fi.adm 16.08.2014 23:30

Создание массива с id чекбоксов
 
Добрый вечер!
Имеется 5 чекбоксов. Их id уникальны:
<div id="work_div">
    <input type="checkbox" class="checkbox" id="1" checked="checked"/>
    <input type="checkbox" class="checkbox" id="2"/>
    <input type="checkbox" class="checkbox" id="3" checked="checked"/>
    <input type="checkbox" class="checkbox" id="4"/>
    <input type="checkbox" class="checkbox" id="5"/>
    <br>
<input type="button" id="checkbox_get" value="Получить id выбранных" />
</div>

Как сделать, чтобы при клике на кнопку создавался массив и id всех выбранных чекбоксов заносились в него? После этого необходимо, чтобы создавалась строка, и данные массива переписывались в строку через запятую. Заранее спасибо за ответ!!

Safort 17.08.2014 01:10

fi.adm,
<div id="work_div">
    <input type="checkbox" class="checkbox" id="1" checked="checked"/>
    <input type="checkbox" class="checkbox" id="2"/>
    <input type="checkbox" class="checkbox" id="3" checked="checked"/>
    <input type="checkbox" class="checkbox" id="4"/>
    <input type="checkbox" class="checkbox" id="5"/>
    <br>
    <input type="button" id="checkbox_get" value="Получить id выбранных" onclick="getAllSelectedId()"/>
  </div>
</body>

<script>

  function getAllSelectedId() {
    var cb = document.querySelectorAll('.checkbox');
    var checked = [];

    for (var i = 0; i < cb.length; i++) {
      if (cb[i].checked) {
        checked.push(cb[i].id);
      }
    }

    var your_str = checked.join(',');  // собственно, строка
    console.log(your_str);             // выводим результат в консоль
  }

</script>

рони 17.08.2014 02:15

:write: :)
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <script>
function getAllSelectedId() {
    var a = document.querySelectorAll(":checked");
    alert([].map.call(a, function(a) {
        return a.id
    }))
};
</script>
</head>
<body>
<div id="work_div">
    <input type="checkbox" class="checkbox" id="1" checked="checked"/>
    <input type="checkbox" class="checkbox" id="2"/>
    <input type="checkbox" class="checkbox" id="3" checked="checked"/>
    <input type="checkbox" class="checkbox" id="4"/>
    <input type="checkbox" class="checkbox" id="5"/>
    <br>
    <input type="button" id="checkbox_get" value="Получить id выбранных" onclick="getAllSelectedId()"/>
  </div>
</body>
</html>

Safort 17.08.2014 02:26

рони,
блин :-/

fi.adm 17.08.2014 11:55

Всем спасибо!


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