首页 > 解决方案 > 插入多个复选框值php ajax

问题描述

请帮帮我,这件事毁了我的日子。我尝试使用 ajax 和 php,在上一个线程中发布这些代码,但无法获得答案或任何指南。我认为我的问题或代码不清楚。所以在这里我发布我真正需要的东西。请帮助我或提供任何有帮助的链接。

HTML。它是动态的,将由 php 生成

<li>
<input type="checkbox" name="menu[]" value="News">News
    <ul>
        <li>
        <input type="checkbox" name="menu[][]" value="politics">Politics
        </li>
        <li>
        <input type="checkbox" name="menu[][]" value="Social">Social
        </li>
    </ul>
</li>
<li>
<input type="checkbox" name="menu[]" value="Views">Views                                 
</li>
<li>
<input type="checkbox" name="menu[]" value="Art">Art                               
</li>

<form>
</form>

在插入多个值时,应按如下方式插入。如果每个菜单都有子类别,那么每个选中的值将被插入subcat_id,如果没有则Null值。

在此处输入图像描述

我尝试了什么:

阿贾克斯

$(document).on('submit', '#form', function(e){
    e.preventDefault();
    var navid = [];
        $("input[name='menu[]']:checked").each(function(){
            navid.push(this.value);
        });
    var subnavid = [];
        $("input[name='menu[][]']:checked").each(function(){
            subnavid.push(this.value);
        });
        var formData = new FormData(this);
        formData.append('navid', navid);
        formData.append('subnavid', subnavid);
            $.ajax({
                type: 'POST',
                url: 'upload.php',
                data: formData,
                contentType: false,
                cache: false,
                processData:false,
                success: function(data){
                    alert(data);
                }
            });
      });

PHP

$data = explode("," ,$_POST["navid"]); 
subdata = explode("," ,$_POST["subnavid"]);
foreach ($data AS $key => $menu){
   foreach($subdata AS $k => $submenu){
   ......
   ......
   }
}

标签: phpajaxcheckboxforeach

解决方案


推荐阅读