我正在使用带有ajax的Select2 . 一切正常,当用户点击他们想要的项目时,我使用文档中指定的on(更改)功能来做一些事情 .
$("#e6").on("change", function(e) {
$('input#Destination').val(e.val);
});
});
返回值(e.val)是ajax调用的 data.id 值,但我的数据对象具有“ name ", " id " and " type ” .
我可以向dataFormatSelection()添加代码,但这听起来并不合乎逻辑并且令人困惑 .
function dataFormatSelection(data) {
console.log(data.name + "|" data.id + "|" + data.type);
return data.name;
}
如何在on("change" ..事件?)中访问整个 data 对象(而不仅仅是 data.id )?
3 回答
根据Select2 docs更改事件应该有3个属性:事件对象包含以下自定义属性:
val:当前选择(考虑到更改的结果) - id或id数组
添加:添加的元素,如果有的话 - 完整的元素对象,而不仅仅是id
已删除:已删除的元素(如果有) - 完整元素对象,而不仅仅是id
甚至有一个例子:
但我注意到
added
和removed
属性仅在multiple: true
打开时出现 . 我不知道这是设计还是错误 . 无论如何,我会报告它,因为在更改时可以使用所选元素,这绝对是必需的 .我怀疑......我如何获取控制台日志中显示的值并使用它?
如果我采用这些值并将每个值放入var中,这是正确的吗?因为如果我对创建的任何var使用console.log(var),则会显示该值,但如果执行警报(var),则不会显示警报 .
我需要使用所选选项的值来使用AJAX调用PHP函数 .
谢谢!!!