在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;
}
我希望返回的文本以“运算符(选项)”形式返回。
发布于 2014-10-28 18:26:13
我使用jquery直接查询select2元素以获得格式:
var columnName = $("#mySel").select2("data").text; $('#s2id\_mySel').find("#"+columnName).attr('class')
发布于 2014-10-27 23:39:07
只有在Select2显示数据时才会调用格式化函数,并且它们需要Select2内部使用的原始对象。
当您调用select2("data")
时,您正在检索Select2使用表示数据的内部对象。在调用select2("val")
时,基本上是获取这些对象的id
属性,在大多数情况下是这样。
如果要在Select2之外使用格式化函数,则必须接受这些对象并手动将它们传递给您的格式化函数。因此,与其调用$("#mySel").select2("data")
,不如调用formatResults($("#mySel").select2("data"))
。
https://stackoverflow.com/questions/26598015
复制相似问题