dongzhan9100 2016-01-09 16:57
浏览 549
已采纳

使用.serializeArray从所有选中的复选框中获取值

SOLVED I did't use "name" in input field. When I add name to input i worked instantly.

I have a medium size menu with a few subcategories and a lot of checkboxes. I work on custom CMS with php, mysql and jquery/javascript.

The menu is in a form with a button "Save" that needs to get all values from checked checkboxes.

On button I use onclick function that leads to my class in which I use those id's and store them in a table.

<input type="submit" value="Save" class="save-butt" onclick="sjx('domain', $( ':checkbox' ).serializeArray()); return false;">

It does not work; i don't get any error but it seems that the value is not sent. Here is my menu code if it helps.

          <div class="personal-right-box">
        <ul class="doe-list">

        <?php 
        $mainCat = Db::query('SELECT * FROM categories WHERE parent_id = 0 ORDER BY orderby DESC');
        foreach ($mainCat as $main) { ?>

          <li>
            <span><i class="fa fa-caret-down toggle-down"></i><?php echo $main['title_hr']; ?></span>
            <ul class="doe-list-sub">
              <?php 
              $subCat = Db::query('SELECT * FROM categories WHERE parent_id = '.$main['id'].' ORDER BY title_hr ASC');
              foreach ($subCat as $sub) { ?>
              <li>                    
                <input type="checkbox" name="" id="aaeroplanes-b1-b2" value="<?php echo $sub['id']; ?>">
                <label for="aaeroplanes-b1-b2"><?php echo $sub['title_hr']; ?></label>
                <i class="fa fa-caret-down toggle-down"></i>
                <ul class="doe-list-sub">
                  <?php 
                  $subsubCat = Db::query('SELECT * FROM categories WHERE parent_id = '.$sub['id'].' ORDER BY title_hr ASC');
                  foreach ($subsubCat as $subsub) { ?>
                  <li>
                    <input type="checkbox" name="" id="piston-engine-aeroplanes-b1-2" value="<?php echo $subsub['id']; ?>">
                    <label for="piston-engine-aeroplanes-b1-2"><?php echo $subsub['title_hr']; ?></label>
                    <i class="fa fa-caret-down toggle-down"></i>
                    <ul class="doe-list-sub">
                      <?php 
                      $subsubsubCat = Db::query('SELECT * FROM categories WHERE parent_id = '.$subsub['id'].' ORDER BY title_hr ASC');
                      foreach ($subsubsubCat as $subsubsub) { ?>
                      <li>
                        <input type="checkbox" name="" id="cessna" value="<?php echo $subsubsub['id']; ?>">
                        <label for="cessna"><?php echo $subsubsub['title_hr']; ?></label>
                        <i class="fa fa-caret-down toggle-down"></i>
                        <ul class="doe-list-sub group">
                          <?php 
                          $items = Db::query('SELECT * FROM categories WHERE parent_id = '.$subsubsub['id'].' ORDER BY title_hr ASC');
                          foreach ($items as $item) { ?>
                          <li class="col-1-3">
                            <input type="checkbox" name="" id="" value="<?php echo $item['id']; ?>">
                            <label for=""><?php echo $item['title_hr']; ?></label>
                          </li>
                          <?php } ?>
                        </ul>
                      </li>
                      <?php } ?>
                    </ul>
                  </li>
                  <?php } ?>
                </ul>
              </li>
              <?php } ?>
            </ul>
          </li>

        <?php } ?>
        </ul><!-- end of .doe-list -->
        <span class="save-button-form">
          <input type="submit" value="Save" class="save-butt" onclick="sjx('domain', $( ':checkbox' ).serializeArray()); return false;">
        </span>
      </div>

Thank you for your help.

  • 写回答

1条回答 默认 最新

  • doz22551 2016-01-09 17:08
    关注

    serialize use name first and if it doesn't find it then it goes for id. In your case you have a blank name, and so in your result.
    you can either copy the same content in name or remove it.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 Python安装cvxpy库出问题
  • ¥15 用前端向数据库插入数据,通过debug发现数据能走到后端,但是放行之后就会提示错误
  • ¥15 python天天向上类似问题,但没有清零
  • ¥30 3天&7天&&15天&销量如何统计同一行
  • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
  • ¥15 C#调用python代码(python带有库)
  • ¥15 矩阵加法的规则是两个矩阵中对应位置的数的绝对值进行加和
  • ¥15 活动选择题。最多可以参加几个项目?
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题