访问select2中的格式化文本

时间:2014-10-27 22:35:36

标签: jquery jquery-select2

一旦在select2中选择了一个选项,我就会格式化文本。它显示为格式化。我想稍后访问格式化的文本。但是,当我使用

访问时
$('#mySel').select2('val') or 
$('#mySel').select2('data').text 

这些只返回原始选项文本。

我的formatResults功能在

下面
function formatResults(state) {

    if (!state.id) return state.text; // optgroup
    var result = "<a style='color:inherit; text-decoration:none;' onclick= 'return     myonclickevent(this);' id= '" + state.id + "' class='"+"ops"+ "'>"
        + operator[state.id] + " ( " + state.text+" )</a>";
    return result;

 }

我希望返回的文本格式为“operator(option)”

2 个答案:

答案 0 :(得分:1)

只有在Select2显示数据时才会调用格式化函数,并且它们需要Select2在内部使用的原始对象。

当您调用select2("data")时,您正在检索Select2正在使用表示数据的内部对象。当您调用select2("val")时,在大多数情况下,您基本上都会获得这些对象的id属性。

如果要使用Select2之外的格式化功能,则必须手动将这些对象传递给格式化功能。因此,您可以拨打$("#mySel").select2("data")

,而不是致电formatResults($("#mySel").select2("data"))

答案 1 :(得分:0)

我使用jquery直接查询select2元素来获取格式:
     var columnName = $(“#mySel”)。select2(“data”)。text;      $( '#s2id_mySel')。发现( “#” + COLUMNNAME).attr( '类')