2014-10-31 121 views
10

$(“#e2”)。select2(“val”)返回值,但我不想得到“。$ listtypes ['name']”。数据名称或选项标签显示中的以太网。我想为选定的选项获取选项数据名称,我该如何实现?Select2获取选定的选项数据

这是我的选择产生

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

回答

19

您可以使用此

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

这就是我以后,谢谢。 8分钟接受。 – Kavvson 2014-10-31 17:54:15

+0

如果这是您的解决方案,请将此标记为答案,祝您有个美好的一天...... – xploshioOn 2014-10-31 20:50:29

0

使用attr方法.attr("data-name")您选择。

1

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

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

6

试试这个:$('#e2').select2('data') --> return selected option data

1

这项工作对我来说:

简单选择2获得标签值: $( '#myVar的')选择2( '数据')[0]。

可能会有所帮助,从selec2变量做一个数据转储:

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

,赶上你的标签的name属性。

祝你好运!

+0

我不会称之为“标签值”,因为这意味着(对我)'$('#myVar')。val )',但是你的回答非常有用,因为从'$('#myVar')。select2('data')[0]'可以得到属性'id','text','title'和底层'选项'元素通过属性'元素'。 – Paul 2017-06-01 18:41:37