вставить несколько значений флажка php ajax - PullRequest
0 голосов
/ 05 июня 2018

Пожалуйста, помогите мне, Этот вопрос разрушил мои дни.Я пытался с 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.

enter image description here

Что я пробовал:

Ajax

$(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){
   ......
   ......
   }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...