javascript - 基于另一个选择动态生成一个选择
问题描述
我正在尝试通过引用对象数组中的值,根据另一个选择中的选择动态生成选择中的选项列表。
<select id="radar">
<option value="15">City1</option>
<option value="64">City2</option>
</select>
<select id="beam">
</select>
对象:
var radars = {
"city1": {
"name": "city1",
"maxBeams": 16
},
"city2": {
"name": "city2",
"maxBeams": 3
}
}
When a radar option is selected for example City2, I would like to fill the beam select with an option for as many maxBeams that have thee option value and text to simply be that index number:
<select id="beam">
<option value="1">1 </option>
<option value="2">2</option>
<option value="3">3</option>
</select>
完成此操作并使其易于更新的最简单方法是什么?
解决方案
你真的不应该使用 javascript 来动态生成这样的内容。您应该使用像 Vue.js、React 或 Angular 这样的框架。您可以直接使用 javascript 自制解决方案,但您只是增加了技术债务。
你应该做这样的事情:
<div vue="app">
<select v-model="city_group">
<option disabled value="">Please select one</option>
<option v-for="c in cities">{{c}}</option>
</select>
<select v-if="city_group != ''" v-model="city">
<option disabled value="">Please select one</option>
<option v-for="c in city_info[city_group]">{{c}}</option>
</select>
<h1>My city group is {{city_group}}</h1>
<h1>My city is {{city}}</h1>
</div>
注意内容是如何基于数据的。 https://codepen.io/Snorghma/pen/QWWjOmq
https://vuejs.org/v2/guide/forms.html# 选择 https://vuejs.org/v2/guide/list.html
推荐阅读
- c - 是否有任何 BLAS 例程可以为整个 C 向量获取 abs/tanh/sin?
- c# - 我如何正确地从列表中提取
在父对象的脚本中? - ios - 如何选择 CollectionViewCell 内的 TableViewCell
- azure-pipelines - In ADF V2 - how to append date ("yyyyMMdd")) to filename dynamically for S3 dataset
- javascript - React-Native 中的右下对齐(使用 Flex-box)不起作用
- regex - 如何使用正则表达式格式化此 txt 文件
- java - 如何创建支持 Intelllij 项目结构的 maven 项目?
- android - iOS 或 Android 应用程序可以与其他应用程序交互推送通知交互吗?
- python - 用pandas加载CSV数据时,第一行被误认为是标题
- java - 为什么袋子被认为是无序的?