Foreach不在php和Jquery中工作

时间:2016-05-12 12:51:37

标签: javascript php jquery html5

我正在尝试在php和jquery中进行一个foreach循环进行多次选择,但我得回应的是Array。

HTML

<select multiple="multiple" class="select tagz" required>

PHP

if(!empty($_POST['tagz'])){
            $tag = $_POST['tagz']);

            foreach($tag as $tagz){
            echo $tagz;
            }

        }else{
            echo "Please select tags";
        }

Jquery的

function serealizeSelects (select)
        {
            var array = [];
            select.each(function(){ array.push($(this).val()) });
            return array;
        }
        var tagz = serealizeSelects($(".tagz"));
$.post('upload.php', {tagz:tagz, title:title, category:category, description:description, price:price}, function(data){

            $('#confirm').html(data);

        });

请告诉我我做错了什么

2 个答案:

答案 0 :(得分:0)

您正在尝试为名为tagz的字段获取帖子变量,但您没有名为tagz的字段(至少在您提供的代码中没有)。

考虑将HTML更改为:

<select name="tagz" multiple="multiple" class="select tagz" required>

答案 1 :(得分:0)

你在做select.each(function(){ array.push($(this).val()) }); 但是select变量只包含select元素,而且每个元素都没有意义。你需要在options中使用each。所以更改你的选择器。

           var tagz = serealizeSelects($(".tagz option"));

或者如果您不想更改选择器,只需使用find查找选择

中的所有选项
           select.find('option').each(function(){ array.push($(this).val()) })

当然我不知道你在哪里定义你的其他变量。如果你有其他问题也只是告诉我你的整个javascript代码,所以我可以帮助你更多。