将HTML Id与对象的属性进行匹配

时间:2017-11-23 22:02:58

标签: javascript html javascript-objects

我有两个车辆的HTML列表:自行车和卡车,具有相关属性的表格("轮子"和#34;窗口"),以及嵌套对象(" vehicle")包含所述属性的相关值。

我想编写一个函数,它将获取所选车辆的id,将其与嵌套对象中的对象进行匹配,然后使用适当的属性填充表单。

例如,如果你选择" van"从列表中,表单填充" wheel"用" 2"和窗口用" 1"。

理想情况下,该功能足够灵活,可以包含额外的车辆。

任何帮助将不胜感激。谢谢。



var bikeDetails = {
  wheels: 2,
  windows: 0
};
var vanDetails = {
  wheels: 4,
  windows: 1
};

var vehicles = {
  bike: bikeDetails,
  van: vanDetails
};

<div id="classSelectWrapper">
  <form>
    <select id="vehicleList">
      <option value="bike">bike</option>
      <option value="van">van</option>
    </select>
  </form>
</div>


<div class="vehicleDetails">
  <form id="vehicleProps">
    <p>
      <label for="wheels" value="">wheels:</label>
      <input id="wheels" type="text" name="wheels" value="" disabled>
    </p>

    <p>
      <label for="windows">windows:</label>
      <input id="windows" type="text" name="windows" value="" disabled>
    </p>
  </form>
</div>
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:2)

您的脚本可能是这样的:

wordfence-waf.php

答案 1 :(得分:1)

您的问题的解决方案可以像这样实现,希望它能帮助您:

document.querySelector("#vehicleList").addEventListener("change", function(e) {
  let value = e.target.options[e.target.selectedIndex].value;
  if(value in vehicles) {
    document.querySelector("#wheels").value = vehicles[value].wheels;
    document.querySelector("#windows").value = vehicles[value].windows;
  }
});