You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用JavaScript将数组值展示在多选select框的已选高亮区域?

实现说明

这个需求可以直接实现,操作逻辑如下:

  • 原生多选<select>的已选状态由<option>标签的selected属性控制,你拼接生成option时没有加该属性,所以只会生成选项不会默认选中展示在顶部已选区域。
  • 修改option拼接逻辑,给每个需要默认选中的员工option添加selected属性即可,调整后的代码如下:
let staff_assign= '';
// 注意避免map回调参数和外层变量e重名,改为item
e.staff_user.assign.map((item) => {
  staff_assign += `<option value="${item.staff_id}" selected>${item.staff_name}</option>`;
});
  • 如果你引入了第三方多选UI组件(比如Select2、Choices.js等),在动态插入option之后需要调用组件的更新触发方法,示例如下:
// Select2组件触发更新示例
$('#getStaff').trigger('change');
  • 如果需要后续动态修改已选值,也可以直接给select元素赋值已选id数组:
document.getElementById('getStaff').value = [1,2,3]; // 数组为需要选中的staff_id集合

内容的提问来源于stack exchange,提问作者nonutt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 01:39:02