javascript - 如何在不使用php javascript提交的情况下在多选下拉列表中输出所有选定选项的文本
问题描述
我无法将所选选项显示为列表。如何在选择的更改事件中遍历多选下拉列表中的选定选项
这里只显示了一个选项,因为我不知道循环选择的选项
<select class="form-control selectpicker sel3" multiple data-live-search="true" id="sel3" name="course[]">
<option value="1">Disciplinary Procedure</option>
<option value="2">Office Methods</option>
<option value="3">Photoshop</option>
<option value="4">CIGAS</option>
<option value="5">Auditing</option>
</select>
$(document).ready(function() {
$("#sel3").change(function() {
var x = document.getElementById("sel3");
var i = x.selectedIndex;
document.getElementById("demo").innerHTML= x.options[i].text;
});
});
如果选择了前两个选项,则仅显示第一个选项
解决方案
如果我正确阅读了您的问题,您的意思是选项标签的文本标签。只需像这样使用.each()
方法迭代每个选定的选项:
$('#sel3').on('change', function() {
var selectedTexts = [];
$('#sel3 option:selected').each(function(i, selectedOptions) {
selectedTexts.push($(selectedOptions).text());
});
console.log(selectedTexts);
});
如果您想要 value 属性中的数据,请$(selectedOptions).val()
改用。
要将数组项转换为逗号分隔的列表,请使用selectedTexts.join();
并将其分配为$('#demo').html( selectedTexts.join() )
推荐阅读
- python - 仅考虑预测>阈值的混淆矩阵
- oracle - 我怎样才能删除这个..plz告诉我,因为我尝试了everyting。这段代码中是否有任何问题
- reactjs - 如何在反应中调用onPress下的两个函数
- flutter - 使用 AnnotatedRegion 后如何将状态栏恢复为默认值?
- c++ - 消息的当前实例在 MFC 中完成后如何发布消息?
- python - Python Tweepy 基于 Geocode 获取所有推文
- regex - 没有左边界或右边界的值的 Jmeter 相关性
- ruby-on-rails - Rails Admin 在生产中渲染异常缓慢
- javascript - 为什么 codepen 适用于我编写的过滤器代码,但不适用于 sublimetext3 或 Visual Studio?
- node.js - 无法读取 AWS CHIME 中未定义的属性“addEventListener”