我正在尝试在 php 和 jquery 中执行 foreach 循环以进行多重选择,但我所得到的只是数组。
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);
});
请告诉我我做错了什么
最佳答案
你正在做select.each(function(){ array.push($(this).val()) });
但是 select 变量只包含 select 元素,each 没有任何意义。您需要在选项中使用 each
。因此请更改您的选择器。
var tagz = serealizeSelects($(".tagz option"));
或者,如果您不想更改选择器,只需使用 find 来查找选择器中的所有选项
select.find('option').each(function(){ array.push($(this).val()) })
当然,我不知道你在哪里定义其他变量。如果你也有其他问题,只需向我展示你的整个 javascript 代码,以便我可以为你提供更多帮助。
关于javascript - Foreach 无法在 php 和 Jquery 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37187475/