[英]Get value from all checked checkboxes with .serializeArray
解决了我没有在输入字段中使用“名称”。 当我在输入中添加名称时,我立即工作。
我有一个中等大小的菜单,其中包含一些子类别和许多复选框。 我使用php,mysql和jquery / javascript开发自定义CMS。
菜单为带有“保存”按钮的表单,该按钮需要从选中的复选框中获取所有值。
在按钮上,我使用onclick函数,该函数会导致我使用这些ID并将其存储在表中的类。
<input type="submit" value="Save" class="save-butt" onclick="sjx('domain', $( ':checkbox' ).serializeArray()); return false;">
这是行不通的; 我没有收到任何错误,但似乎未发送该值。 这是我的菜单代码(如果有帮助的话)。
<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>
谢谢您的帮助。
首先序列化使用name
,如果找不到,则使用id
。 在您的情况下,您有一个空白name
,因此您的结果也是如此。
您可以按name
复制相同内容或将其删除。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.