如何检索存储在 select2 下拉列表中的数据?
Posted
技术标签:
【中文标题】如何检索存储在 select2 下拉列表中的数据?【英文标题】:How to retrieve data stored in select2 dropdown? 【发布时间】:2018-06-11 11:46:12 【问题描述】:我正在使用laravel
5 和select2
下拉菜单来选择类似于*** 标签字段的各种标签。
所以一旦选择了一些标签,我想以数组的形式检索它们,并在 laravel 5 的控制器中使用它来验证和存储。
此外,如果用户点击编辑帖子,我想从database
的下拉列表中添加所有标签,以便用户轻松进行更改。
1) 所以我主要想知道如何从select2
以数组的形式检索数据
2) 当用户点击编辑时,用数据填充select2
我如何实现这两个功能?
<select multiple="multiple"
id="tag_select"
class="form-control $errors->has('tag_select') ? ' is-invalid' : '' "
name="tag_select"
value=" old('tag_select') "
required
>
<option value="">php</option>
<option value="">C++</option>
</select>
<script>
$( document ).ready(function()
$("#tag_select").select2();
$('#show_select').click(function()
$("#tag_select").text();
);
);
</script>
【问题讨论】:
添加与此相关的代码,以便更容易提供帮助。 请先在此处添加一些代码,然后寻求帮助。 添加代码请立即查看 是时候收回你的反对票了! [at]AnkitAgarwal @DhavalPurohit 是的,您将在控制器中获得阵列。如果您使用多选,则名称应作为 ex 的数组给出。tag_select[]
【参考方案1】:
你可以通过select2:select
事件选中tags
:
$("#class_select").select2();
var tagsArray = new Array();
$('#class_select').on('select2:select', function(e)
var text = e.params.data.text; // get text
var id = e.params.data.id; // get value
tagsArray.push(text);
console.log(tagsArray);
);
select#class_select
width: 200px;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.5/css/select2.min.css" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.5/js/select2.full.min.js"></script>
<select multiple="multiple" id="class_select" class="form-control" name="tag_select" required>
<option value="1">PHP</option>
<option value="2">C++</option>
</select>
也可以被原生html
选中:
$("#class_select").select2();
var tagsArray = new Array();
$('#class_select').on('change', function()
var val = $(this).val();
tagsArray.push(val);
console.log(tagsArray);
);
select#class_select
width: 200px;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.5/css/select2.min.css" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.5/js/select2.full.min.js"></script>
<select multiple="multiple" id="class_select" class="form-control" name="tag_select[]" required>
<option value="1">PHP</option>
<option value="2">C++</option>
</select>
【讨论】:
还有一个问题,当我提交表单时,如何访问 laravel 控制器中的 tagsArray? 不幸的是,我不是laravel
专家,但在php
中,您可以使用json
或ajax
@Raj 获得js
数组,但您可以搜索:@987654335 @以上是关于如何检索存储在 select2 下拉列表中的数据?的主要内容,如果未能解决你的问题,请参考以下文章
jquery Select2 Ajax - 如何设置值(initSelection)