繁体   English   中英

Select2 多个未使用 jQuery 获取 html 选择选项

[英]Select2 multiple not getting html selected options using jQuery

我正在努力尝试从我的 select2 多个下拉列表中获取所选选项的 html。

这是我的情况。

  1. 我有这个标准的 select2-multiple:

select2-multiple 有两个选定的选项

  1. 现在我更改了用户的选择,但在控制台中它无法使用 jQuery 获取它们。 从下拉列表中识别所选选项的代码是:

    .select2-results__option[aria-selected=true]

所以应该使用这个找到它:

var selected_users = $('.select2-results__options').find('li .select2-results__option[aria-selected=true]').html();
  $('.stakeholders_span').html(selected_users);
  console.log(selected_users);

控制台日志总是“未定义”。

任何人都可以帮助我:)?

谢谢!

问题是li之后的选择器中的空间,应该是这样

'li.select2-results__option[aria-selected=true]').html();
  $('.stakeholders_span'

 $(document).ready(function() { $('.select2-results').select2({templateResult: formatState}); $('.select2-results').on("select2:open", function (e) { console.log("open dropdown"); var selected_users = $('.select2-results__options').find('li.select2-results__option[aria-selected=true]'); $("#selected").html(selected_users); console.log(selected_users.length+" already selected"); }); function formatState (state) { var img_url = ($(state.element).attr("url")); if (!state.id) { return state.text; } var $state = $( '<span ><img sytle="display: inline-block;" src="'+img_url+'" /> ' + state.text + '</span>' ); return $state; } });
 select{ width:100%; }
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <link href="https://cdn.jsdelivr.net/npm/select2@4.0.13/dist/css/select2.min.css" rel="stylesheet" /> <script src="https://cdn.jsdelivr.net/npm/select2@4.0.13/dist/js/select2.min.js"></script> <select class="select2-results" name="states[]" multiple="multiple"> <option value="AL" url="https://www.gravatar.com/avatar/8c4ca71c8741234b3699198010d097b0?s=48&d=identicon&r=PG&f=1">Alabama</option> <option value="MU" url="https://www.gravatar.com/avatar/0eb2e29921d126734f574604f5f0abe8?s=32&d=identicon&r=PG&f=1">MUK</option> <option value="WY" url="https://www.gravatar.com/avatar/bb70a110c197e7e54decf340daffc072?s=32&d=identicon&r=PG">Wyoming</option> </select> ------------ <div id="selected"></div>

我仍然有这个问题。

这是起点:

在此处输入图片说明

这是我添加第三个用户时打开的 select2:

在此处输入图片说明

这就是我所看到的:只有最新添加的:

在此处输入图片说明

虽然我应该看到三个用户。

我应用了这段代码,但只显示了最新添加的用户:

      var stakeholders = $('.select2-results__options').find('li.select2-results__option[aria-selected=true]').html();
  console.log(stakeholders);
  $('.stakeholders_span').html(stakeholders);

如何解决以上问题?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM