jquery - 如何使用快速把手、物化、jQuery 和 ajax 基于第一个选项动态填充第二个选择列表?
问题描述
我知道这个话题有很多话题,但我似乎找不到与我的案例相似的话题。很多事情都与静态数据有关。
所以我想做的是,让用户在第一个选择列表中选择一个选项,然后根据该值,它将填充与该选择相关的任何内容。
我正在尝试为练习数组中的每个元素附加一个带有值和文本的“选项”标签,但我的第二个下拉列表根本没有显示选项。
我正在为我的路线使用 express,对于这个特定的路线,我想使用 ajax 来填充第二个下拉列表。我已经尝试了几个小时的很多事情,但我似乎无法解决。我是节点和 jQuery 的新手。
这是我的 index.hbs 文件:
<div class="row">
<div class="input-field">
<select id="program" name="program">
<option value="" disabled selected>select..</option>
{{#each programs}}
<option value="{{_id}}">{{this.name}}</option>
{{/each}}
</select>
<label>Programs</label>
</div>
</div>
<div class="row">
<div class="input-field">
<select id="dayOfWeek" name="dayOfWeek">
<option value="" disabled selected>select..</option>
</select>
<label>Day Of Week</label>
</div>
</div>
我的脚本中的代码:
$(document).ready(function () {
//materialize initialization
$('.sidenav').sidenav();
$('select').formSelect();
$('#program').on('change', function () {
const programId = ($('#program').val());
$.ajax({
type: 'GET',
url: `/exercises/${programId}`,
dataType: 'json'
}).done((program) => {
console.log(program.exercises)
const exercises = program.exercises;
for (e in exercises) {
$('#dayOfWeek').append('<option>').val(exercises[e]._id).text(exercises[e].name)
}
});
});
});
任何帮助深表感谢。
解决方案
推荐阅读
- oauth-2.0 - 如果用户未登录到我的应用程序,如何使用 Slack 直接安装 URL 对用户进行身份验证?
- java - 使用通知显示对话框片段
- c++ - 在未定义的数据类型中交换字节顺序
- ballerina - 将参数传递给 Ballerina 中的 sql 查询时出错
- php - 创建一个新用户并尝试获取会话 id 的 user_id 但获取第一个 id PHP
- node.js - 如何在 Nodejs 中使用和发布来自 Amazon MQ 的消息?
- node.js - 推送被拒绝,无法编译 Node.js 应用程序
- spring-boot - Kafka、Spring Kafka 和重新传递旧消息
- arrays - 寻找最大的排序选择
- javascript - 这段代码在三个 JS 中的含义