我的页面上没有几个 multiselect下拉列表。因此,我需要获取带有id的多选所选选项的值。此处特定元素的id将动态生成。
然后我将遍历数组
var value = $('#' + arrayObj[i]+'option:selected').val();
我无法获取所选的选项值,而是显示未定义
答案 0 :(得分:1)
这是您实现此目标的方法。希望对您有所帮助。
const selectList = [
{id: 'list1', options: ['a', 'b', 'c']}
];
selectList.map(select => {
let list = '<select id="' + select.id + '" multiple></select>';
$('#lists-container').append(list);
select.options.map(option => {
$('#' + select.id).append('<option>' + option + '</option>');
});
$('#' + select.id).on('change', evt => {
let result = '';
$(evt.target).children('option:selected' ).each(function() {
result += $( this ).text();
});
$("#results").text(result);
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="lists-container"></div>
<div id="results"></div>