Select2 - 多个标签不起作用

时间:2015-08-15 19:31:42

标签: javascript php jquery laravel jquery-select2

我正在尝试使用Select2(https://select2.github.io)来允许用户在提交表单之前在字段中键入多个标记。在我的Laravel PHP应用程序中,我将获取这些标记,确定它们是否存在并将它们添加到数据库中。

我的问题是我似乎无法让Select2识别出用户输入了多个标签。当我询问表单数据时,我只看到用户输入的LAST标记,而不是所有标记。

我的Select2元素是:

<select class="tags-field" name="tags" data-tags="true" data-placeholder="TAGS" multiple="multiple">
</select>

我的JQuery是:

$(function() {
    $(".tags-field").select2({
        maximumSelectionLength: 3,
        tokenSeparators: [','],
    });
}

没有Javascript错误,除非我无法检测到所有标签,否则它可以正常工作。

1 个答案:

答案 0 :(得分:8)

要使PHP将所有选定的选项作为数组提供,请使用一对方括号为您的选择名称添加后缀,如下所示:

<select class="tags-field" name="tags[]" data-tags="true" data-placeholder="TAGS" multiple="multiple">

如果将此表单发送到PHP程序,$ _POST [&#39; tags&#39;]的值将是一个数组。请注意,表单控件名称中的方括号不是数组键的一部分。你会处理这样一个表格:

<?php
$tags = $_POST['tags'];
// Note that $tags will be an array.
foreach ($tags as $t) {
    echo "$t<br />";
}
?>

此处的参考资料:http://bbrown.kennesaw.edu/papers/php2.html