如何获取具有动态ID的多选选项值?

时间:2019-01-30 09:34:30

标签: jquery select dropdown

我的页面上没有几个 multiselect下拉列表。因此,我需要获取带有id的多选所选选项的值。此处特定元素的id将动态生成。

然后我将遍历数组

var value = $('#' + arrayObj[i]+'option:selected').val();

我无法获取所选的选项值,而是显示未定义

1 个答案:

答案 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>