javascript - 如何使用 jQuery 追加数组?
问题描述
我有两个选择框。
<select id="select-1"><option value="one">one</option><option value="two">two</option></select>
<select id="select-2"></select>
当我选择值一时,它将使用列表数组附加选项列表
<script type='text/javascript'>
jQuery(document).ready(function($) {
$('#select-1').on('change', function() {
var List = ["test 1", "test 2", "test 3", "test 4"];
var selectedVal = $(this).children("option:selected").val();
if(selectedVal == "one") {
$('#select-2').append('<option>' + List + '</option>');
} else {
//
}
})
});
</script>
它加载选项列表,如
<option>test 1 test 2 test 3 test 4</option>
但它必须是
<option>test 1</option><option>test 2</option><option>test 3</option><option>test 4</option>
我怎样才能解决这个问题 ?
解决方案
一种简洁的方法是使用从可以附加的数组中map()
构建元素的 HTML 字符串:option
jQuery($ => {
$('#select-1').on('change', function() {
let list = ["test 1", "test 2", "test 3", "test 4"];
if ($(this).val() === "one") {
let options = list.map(t => `<option>${t}</option>`).join('');
$('#select-2').append(options);
} else {
$('#select-2').empty();
}
})
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select id="select-1">
<option value="">Select...</option>
<option value="one">one</option>
<option value="two">two</option>
</select>
<select id="select-2"></select>
推荐阅读
- java - 错误未解决参考:LoadAnimation
- python - Python 中的命令 getatime() 与 Finder(在 macOS 上)中的“上次打开日期”不同。我如何获得后者?
- python-3.x - python如何用于单行多赋值和多行单赋值
- arrays - 数组公式 - Google 表格
- java - 动态改变 JTree 的数据模型
- python - 通过包含字符串过滤查询集
- ios - 为什么 Today Widget 在 iOS 14 上显示“无法加载”且无法调试?
- java - 在 Java 单元测试中,如何验证函数类型的变量是否在传入某些参数的情况下被调用?
- c# - 如何在 C# 控制台应用程序中从事件网格(Azure 门户)的 QueueStorage 接收消息?
- javascript - 地理定位 API - 对坐标使用的疑问(编程新手)