javascript - 如何使 SELECT 字段的选定选项与另一个选择字段 Onchange 相同?

标签 javascript jquery

所以我有一个名为 TRIP ID 的选择字段,其选项来自数据库。我还有另一个名为 APS 权重的选择字段,它具有三个选项。 STA、STB、STC - 但这三个选项的值实际上是数字而不是 STA、STB、STC。 STA、STB、STC是什么,其实就是这些选择选项的InnerHTML。

我的问题是我想正确选择一个TRIP ID,然后onChange选择的APS Weight选项变成了TRIP ID值的前三个字母。

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

The Select fields

我认为我的代码不起作用,因为。 APS Weight 上的选项值实际上是数字而不是字符串。

最佳答案

希望这会有所帮助!

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 - 如何使 SELECT 字段的选定选项与另一个选择字段 Onchange 相同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/77339123/

相关文章:

javascript - 每个部分的不同菜单颜色/

javascript - 遍历项目并向其添加处理程序会影响性能

jquery-ui - $.Ajax 使用 jquery 发送进度条

javascript - 在 5x5 表中创建 for 循环

javascript - 未捕获的类型错误 : object is not a function?

jquery - 如果 div 到达特定位置,则在导航栏中混合

javascript - 将 Canvas 转换并上传为图像

javascript - 如何在 IE 中查看 JavaScript/JQuery 代码的错误消息?

javascript - Squarespace 博客摘要缩略图

javascript - 如果表格列中的所有复选框均已选中,请选中标题复选框