Показать сообщение отдельно
  #5 (permalink)  
Старый 04.10.2017, 00:52
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,134

al456,
<!DOCTYPE html>
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title>ПРИМЕР-Вопрос</title>
  <script src="https://code.jquery.com/jquery-3.1.1.min.js"  ></script>
</head>

  <body class="">

<div id="sortingBTN">
<h2>Данные для заполнения массива</h2>
  <h3>Срок поставки</h3>
    <input type='checkbox' data-parametr='available' data-value='1' class='parametrSortingJS' > 1<i> всего 210 объектов</i><br>
    <input type='checkbox' data-parametr='available' data-value='2' class='parametrSortingJS' > 2<i> всего 126 объектов</i><br>
    <input type='checkbox' data-parametr='available' data-value='3' class='parametrSortingJS' > 3<i> всего 429 объектов</i><br>
    <input type='checkbox' data-parametr='available' data-value='empty((' class='parametrSortingJS' > empty((<i> всего 3 объектов</i><br>

  <h3>Цветовая гамма</h3>
    <input type='checkbox' data-parametr='color' data-value='empty((' class='parametrSortingJS' > empty((<i> всего 325 объектов</i><br>
    <input type='checkbox' data-parametr='color' data-value='3' class='parametrSortingJS' > 3<i> всего 179 объектов</i><br>
    <input type='checkbox' data-parametr='color' data-value='5' class='parametrSortingJS' > 5<i> всего 32 объектов</i><br>
    <input type='checkbox' data-parametr='color' data-value='4' class='parametrSortingJS' > 4<i> всего 173 объектов</i><br>
    <input type='checkbox' data-parametr='color' data-value='2' class='parametrSortingJS' > 2<i> всего 55 объектов</i><br>
    <input type='checkbox' data-parametr='color' data-value='1' class='parametrSortingJS' > 1<i> всего 4 объектов</i><br>

</div>

<script>
  // проблема START
  $(function()
  {
    function fn()
    {
       var obj = {};
     $("[data-parametr]").each(function(indx, el){
           var data = $(el).data(),
           parametr = data.parametr;
           parametr = obj[parametr]||(obj[parametr]={});
           parametr[data.value] = +el.checked
     });
    $('#control').html( JSON.stringify(obj,"",4));
    };
    fn()
    $("[data-parametr]").on({click : fn})
  });

</script>
<div style="color:green">
  <h2>Полученный результат</h2>
  <div id="control"></div>
</div>
<h2>Ожидаемый результат:</h2>
['available']<br>
 &nbsp; &nbsp; ['1'] = 0<br>
 &nbsp; &nbsp; ['2'] = 0<br>
 &nbsp; &nbsp; ['3'] = 0<br>
 &nbsp; &nbsp; ['empty(('] = 0<br>
['color']<br>
 &nbsp; &nbsp; ['empty(('] = 0<br>
 &nbsp; &nbsp; ['3'] = 0<br>
 &nbsp; &nbsp; ['5'] = 0<br>
 &nbsp; &nbsp; ['4'] = 0<br>
 &nbsp; &nbsp; ['2'] = 0<br>
 &nbsp; &nbsp; ['1'] = 0<br>

  </body>
</html>
Ответить с цитированием