如何用jQuery为Select2多选结果添加逗号空格分隔符?
解决Select2多选后在textarea中用逗号加空格分隔选项的问题
嘿,我看了你的代码,调整两个小细节就能实现你想要的效果:
1. 先修正ID拼写错误
你的HTML里textarea的ID是show_medicine,但JS代码里一直写成了show_medica,这会导致选中的值没法正确显示到textarea里,得先把这个ID统一过来。
2. 自定义选项分隔符
Select2多选时,$("#selectmedic").val()返回的是一个数组,直接赋值的话,JavaScript会默认把数组转为仅逗号分隔的字符串。要改成逗号加空格,只需要用数组的join(', ')方法来手动拼接元素即可。
修改后的完整JS代码
$(".select-medic").select2({ tags: true, tokenSeparators: [',', ' '] }); $('#selectmedic').on('change', function() { // 获取选中的选项数组 var selectedMedicines = $("#selectmedic").val(); // 用逗号加空格拼接数组,没有选中项时设为空字符串 $('#show_medicine').val(selectedMedicines ? selectedMedicines.join(', ') : ''); });
补充说明
selectedMedicines ? ... : ''这部分是为了处理没有选中任何选项的情况,避免textarea中出现null之类的异常内容。- 你的HTML部分不需要修改,保持原样即可。
内容的提问来源于stack exchange,提问作者Diasline
相关产品推荐
相关产品推荐

