Select2 获取选中的选项数据

Posted

技术标签:

【中文标题】Select2 获取选中的选项数据【英文标题】:Select2 Get selected option data 【发布时间】:2014-12-28 02:56:42 【问题描述】:

$("#e2").select2("val") 返回值,但我不想从数据名称或选项标签显示中获取 .$listtypes['name'] . 以太。

我想获取所选选项的选项数据名称,我该如何完成?

这是我的选项生成器

foreach($core->list_types() as $listtypes)
echo "
<option 
  data-name='".$listtypes['name'] ."' 
  value='".$listtypes['id']."'>
  ".$listtypes['name'] ."
</option>";

【问题讨论】:

【参考方案1】:

你可以用这个

$("#e2 option:selected").text();

【讨论】:

【参考方案2】:

试试这个:

$('#e2').select2('data')

返回选择的选项数据

【讨论】:

可能值得注意的是,这会返回一个 javascript 数组。文档链接:select2.org/programmatic-control/…【参考方案3】:

这对我有用:

在简单的select2上获取标签值:

$('#myVar').select2('data')[0].&lt;name_label_from_data_input&gt;

select2 变量转储数据可能会有所帮助:

$('#myVar').on('change', function (evt) 
  if ($('#myVar').select2('val') != null)
    console.log($('#myVar').select2('data')[0]);    
  
);

并抓住标签的名称属性。

祝你好运!

【讨论】:

我不会将其称为“标签值”,因为这意味着(对我而言)$('#myVar').val(),但您的回答非常有用,因为从$('#myVar').select2('data')[0] 可以获取属性id,@ 987654326@、title 和底层 option 元素通过属性 element【参考方案4】:

看起来@Kishan 和@xploshioOn 的答案不适用于v4.0+。

试试这个:$("#e2").text().trim()

【讨论】:

【参考方案5】:

你可以使用这个脚本

$('#editable-select').on('select2:select', function (e) 
            var data = e.params.data;
            console.log(data);
    alert(data['text']);
);

【讨论】:

【参考方案6】:

在您的选择器上使用 attr 方法 .attr("data-name")

【讨论】:

以上是关于Select2 获取选中的选项数据的主要内容,如果未能解决你的问题,请参考以下文章

隐藏 select2 多选中的选项

select2 - 单击时未选择下拉选项

Select2 多选空白选项始终选中

如何使select2插件下拉框多选并获取选中的值

Select2:如何在 VueJS 的多选中添加选项搜索字段

使用多项选择 select2 选择后立即显示选择的选项数量