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

Django模板如何判断select下拉框的选中选项?

Django模板中select下拉框选中状态的实现与获取方法

模板渲染时设置默认选中项

现有代码没有配置选中逻辑,只需要在循环渲染option时,匹配当前项与目标选中值,匹配成功则给option加上selected属性即可。
首先在视图函数中,将需要默认选中的值(比如当前用户已绑定的平台名selected_company)传入模板上下文,之后修改模板代码如下:

<select id="platformid" name="platform">
  {% for x in list %}
  <option value="{{x.company}}" {% if x.company == selected_company %}selected{% endif %}>
    {{x.company}}
  </option>
  {% endfor %}
</select>

渲染完成后,匹配到的选项会自动成为下拉框默认选中项。


不同场景下获取选中值

页面交互实时获取

如果需要在用户操作下拉框时获取当前选中内容,不需要修改Django模板渲染逻辑,直接通过前端JS即可实现:

// 获取select元素
const platformSelect = document.getElementById('platformid');

// 直接获取当前选中值
const currentValue = platformSelect.value;
// 获取当前选中项的显示文本
const currentText = platformSelect.options[platformSelect.selectedIndex].text;

// 监听选中项变化,实时获取值
platformSelect.addEventListener('change', function() {
  const selectedVal = this.value;
  const selectedText = this.options[this.selectedIndex].text;
  // 后续逻辑可直接写在这里,比如赋值给隐藏域、发起接口请求等
})

表单提交场景

如果是常规表单提交,选中的值会自动以platform为字段名提交到后端,后端直接通过request.POST.get('platform')就能拿到用户选中的值,不需要额外前端处理。


内容的提问来源于stack exchange,提问作者ahmet yılmaz234

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 16:24:19