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

Django中Select2组件渲染异常:输入内容显示在字段下方

Django中Select2多选框选中内容显示错位的解决办法

这大概率是Select2样式未正确加载或布局冲突导致的,给你几个实用的解决方向:

1. 补上Select2官方CSS文件

Select2的布局完全依赖自身样式表,没引入的话必然会出现选中项溢出到组件下方的错位问题。在你的HTML模板里,先引入CSS再加载JS:

<!-- 先引入Select2样式 -->
<link href="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/css/select2.min.css" rel="stylesheet" />
<!-- 按顺序加载jQuery和Select2的JS -->
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/select2.min.js"></script>

如果使用本地静态资源,把CDN地址替换成你项目里的静态文件路径即可。

2. 排查父容器的样式冲突

检查包裹select元素的父容器是否设置了overflow: hidden、固定高度这类限制布局的样式,或者存在position属性导致的偏移。可以临时给父容器添加测试样式验证:

.parent-container {
  overflow: visible !important;
  height: auto !important;
}

如果错位问题消失,再针对性调整父元素的样式规则。

3. 确认脚本加载顺序

必须先加载jQuery,再加载Select2的JS文件,否则Select2初始化不完整会引发样式异常,别搞反顺序。

4. 修复重复的option值

你代码里有两个value="WY"的选项,虽然不是样式问题,但会导致选中逻辑混乱,建议修正为唯一值:

<select class="js-example-basic-multiple" name="states[]" multiple="multiple">
    <option value="AL">Something</option>
    <option value="WY">Wyoming</option>
    <option value="SB">Somebody</option>
</select>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 11:42:59