因此,我有一个名为Trip ID的 Select 字段,其选项来自数据库.我还有另一个名为APS权重的 Select 字段,它有三个选项.STA、STB、STC-但这3个选项的值实际上是数字,而不是STA、STB、STC.STA、STB和STC是什么,实际上是这些 Select 选项的InnerHTML.

我的问题是,我想要正确 Select 一个行程ID,然后在更改时,所选的APS权重选项将成为行程ID值的前三个字母.

 <select name="tripid" id="tripid" style="width: 300px"
        onchange="document.getElementById('aps').value=tripid.value.slice(0,3)">

The Select fields

我想我的代码不起作用是因为.APS权重选项的值实际上是数字而不是字符串.

推荐答案

希望这能有所帮助!

const setAps = () => {

  const select = document.getElementById("tripid");
  const selectedOption = select.options[select.selectedIndex];
  const selectedText = selectedOption.text;
  const aps = selectedText.slice(0, 3);

  const apsSlect = document.getElementById("aps");
  const textToSelect = aps;

  for (var i = 0; i < apsSlect.options.length; i++) {
    if (apsSlect.options[i].text === textToSelect) {
      apsSlect.selectedIndex = i;
      break;
    }
  }

}
<select name="tripid" id="tripid" onChange="setAps()">
  <option>- Select-</option>
  <option value="1">STAABC Trip Location 1</option>
  <option value="2">STCABC Trip Location 2</option>
  <option value="3">STCABC Trip Location 3</option>
  <option value="4">STAABC some Location</option>
  <option value="5">STBXYZ some Location</option>
  <option value="6">STBXYZ some Location 2</option>
</select>

<select name="aps" id="aps">
  <option>- Select APS Weight-</option>
  <option value="1">STA </option>
  <option value="2">STB</option>
  <option value="3">STC</option>
</select>

Javascript相关问答推荐

如何使用JavaScript对切换的声音设置音量

如果被1个Phaser JS抵消,我的倾斜碰撞

使用事件监听器在JavaScript中重新分配全局变量

如何使用JavaScript向html元素添加样式

脚本.js:3:20未捕获的类型错误:无法读取空的属性(读取addEventHandler)

获取表格的左滚动位置

如何判断属于多个元素的属性是否具有多个值之一

Klaro与Angular的集成

类型自定义lazy Promise. all

我不知道为什么setwritten包装promise 不能像我预期的那样工作

React 17与React 18中的不同setState行为

如何从调整大小/zoom 的SVG路径定义新的d属性?""

数字时钟在JavaScript中不动态更新

我正在建立一个基于文本的游戏在react ,我是从JS转换.我怎样才能使变量变呢?

保持物品顺序的可变大小物品分配到平衡组的算法

material UI按钮组样式props 不反射

Next.js服务器端组件请求,如何发送我的cookie token?

P5JS-绘制不重叠的圆

不协调嵌入图片

我怎样才能得到一个数组的名字在另一个数组?