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

如何用JavaScript将多个Select与Input的值拼接至最终输入框?

解决方案

你可以通过以下方式实现多控件值的拼接显示:

  1. 先写一个通用的更新函数,用来收集所有需要的控件值并拼接:
function updateResult() {
  // 获取第一个下拉框选中的data-id
  const valA = $('#chosen_a option:selected').data('id') || '';
  // 获取第一个输入框的值
  const valInput1 = $('#Something1').val() || '';
  // 获取第二个下拉框选中的data-id
  const valB = $('#chosen_b option:selected').data('id') || '';
  // 获取第二个输入框的值
  const valInput2 = $('#Something2').val() || '';
  
  // 拼接所有值,这里用空格分隔,你可以改成逗号、换行或者其他分隔符
  const combinedValue = [valA, valInput1, valB, valInput2].filter(Boolean).join(' ');
  
  // 把拼接后的值赋值给目标输入框
  $('#ddlNames').val(combinedValue);
}
  1. 给所有需要触发更新的控件绑定事件,确保任何一个控件的值变化时都能更新结果:
// 下拉框用change事件
$('#chosen_a, #chosen_b').on('change', updateResult);
// 输入框用input事件(实时响应输入,包括粘贴等操作)
$('#Something1, #Something2').on('input', updateResult);

完整代码示例

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select name="criteria_title" id="chosen_a" data-placeholder="Select Category" class="chzn_z span3 dropDownId chzn-done" style="display: block;">
  <option value="" disabled="" selected="">- First select -</option>
  <option value="AAA" data-id="AAA">AAA</option>
  <option value="BBB" data-id="BBB">BBB</option>
  <option value="CCC" data-id="CCC">CCC</option>
  <option value="DDD" data-id="DDD">DDD</option>
  <option value="EEE" data-id="EEE">EEE</option>
</select>

<input id="Something1" placeholder="Write something"></input><br/>

<select name="criteria_title" id="chosen_b" data-placeholder="Select Category" class="chzn_z span3 dropDownId chzn-done" style="display: block;">
  <option value="" disabled="" selected="">- Second select -</option>
  <option value="FFF" data-id="FFF">FFF</option>
  <option value="GGG" data-id="GGG">GGG</option>
  <option value="HHH" data-id="HHH">HHH</option>
  <option value="III" data-id="III">III</option>
  <option value="JJJ" data-id="JJJ">JJJ</option>
</select>

<input id="Something2" placeholder="Write something else"></input><br/>

<br><br>

<input maxlength="2600" name="ddlNames" id="ddlNames" onKeyUp="countChar(this)" placeholder="Blocco Note"></input><br/>

<script>
function updateResult() {
  const valA = $('#chosen_a option:selected').data('id') || '';
  const valInput1 = $('#Something1').val() || '';
  const valB = $('#chosen_b option:selected').data('id') || '';
  const valInput2 = $('#Something2').val() || '';
  
  const combinedValue = [valA, valInput1, valB, valInput2].filter(Boolean).join(' ');
  
  $('#ddlNames').val(combinedValue);
}

$('#chosen_a, #chosen_b').on('change', updateResult);
$('#Something1, #Something2').on('input', updateResult);
</script>

补充说明

  • filter(Boolean) 用来过滤空值,避免出现多余的分隔符
  • 分隔符默认用空格,你可以把join(' ')改成join(', ')(逗号加空格)、join('\n')(换行)等任意格式
  • 输入框用input事件比keyup更全面,能响应粘贴、拖拽输入等操作

内容的提问来源于stack exchange,提问作者Valentina Furnò

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 11:45:34