noo*_*r69 5 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>
Run Code Online (Sandbox Code Playgroud)
我的JQuery是:
$(function() {
$(".tags-field").select2({
maximumSelectionLength: 3,
tokenSeparators: [','],
});
}
Run Code Online (Sandbox Code Playgroud)
没有Javascript错误,它工作得非常好,除了我无法检测到所有标签.
要使PHP将所有选定的选项作为数组提供,请使用一对方括号为您的选择名称添加后缀,如下所示:
<select class="tags-field" name="tags[]" data-tags="true" data-placeholder="TAGS" multiple="multiple">
Run Code Online (Sandbox Code Playgroud)
如果将此表单发送到PHP程序,$ _POST ['tags']的值将是一个数组.请注意,表单控件名称中的方括号不是数组键的一部分.你会处理这样一个表格:
<?php
$tags = $_POST['tags'];
// Note that $tags will be an array.
foreach ($tags as $t) {
echo "$t<br />";
}
?>
Run Code Online (Sandbox Code Playgroud)
参考文献:http://bbrown.kennesaw.edu/papers/php2.html