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

textarea手动输入后无法追加下拉选项内容的技术求助

问题分析与解决方案

我来帮你搞定这个小问题!核心原因其实很简单:你现在用的text()方法是用来操作普通DOM元素的文本内容,但textarea的用户输入内容是存在它的value属性里的,用text()根本拿不到护士手动编辑后的最新内容!这就是为啥手动改完之后再追加新选项就失效了——你每次都是基于最初的默认文本去追加,完全没同步用户后来输入的内容。

修正后的代码

直接把text()换成val()就搞定了,这才是操作textarea内容的正确姿势,我还帮你加了个小优化,避免一开始就出现多余的"+":

$("#medication_id").on('change', function(){
  // 读取textarea当前的真实内容(包括用户手动输入的部分)
  const currentContent = $("#medication_pill").val();
  // 获取选中的诊断文本
  const selectedText = $("#medication_id option:selected").text();
  // 有内容才加分隔符,避免开头就出现"+"
  const newContent = currentContent ? `${currentContent} + ${selectedText}` : selectedText;
  // 更新textarea内容
  $("#medication_pill").val(newContent);
});

额外小建议

  • 可以给下拉框加个默认空选项(比如<option value="">请选择诊断结果</option>),避免用户误触触发追加空内容
  • 如果护士需要删除已添加的诊断项,还可以扩展功能,比如给每个追加的诊断加个小删除按钮,但这就是额外需求啦

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 06:52:36