我正在尝试在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
。因此请更改选择器。
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/