一旦在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)”
答案 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( '类')