如何在JavaScript中从DataTable行内Select2获取自定义参数值?
获取Select2自定义属性值的方法
你可以通过Select2提供的API直接获取包含自定义属性的选中项数据,修改你的saveGroupChanges函数即可实现:
function saveGroupChanges(elm) { // 定位当前行的Select2元素并转为jQuery对象 var $select2Elm = $(elm.closest('tr').getElementsByClassName('typeselectUsers')[0]); // 获取Select2当前选中的所有选项数据(支持多选场景) var selectedItems = $select2Elm.select2('data'); // 遍历选中项,读取你添加的自定义属性 selectedItems.forEach(item => { const addedStatus = item.added; const removedStatus = item.removed; // 这里可以把值传入保存逻辑,比如接口请求 }); // 如果是单选场景,直接取第一个元素即可 // if (selectedItems.length > 0) { // const targetItem = selectedItems[0]; // console.log(targetItem.added, targetItem.removed); // } }
逻辑说明
你在select2:selecting事件中给e.params.args.data添加的自定义属性,会被Select2完整保留在选中项的数据集里。通过select2('data')方法就能直接拿到包含这些自定义字段的完整对象,无需额外存储。
内容的提问来源于stack exchange,提问作者showtime
相关产品推荐
相关产品推荐

