【问题标题】:How can I set options from a checkbox as selected in select2?如何从 select2 中选择的复选框中设置选项?
【发布时间】:2015-08-15 23:58:21
【问题描述】:

我有一个复选框列表。当用户选择它们并单击发送电子邮件按钮时,将打开一个带有要填写的表单的模式。

该表单有一个 select2 字段,列出来自数据库的 AJAX 电子邮件。如何默认选择以前在复选框中勾选的那些选项?

function formatRepo (repo) {
  if (repo.loading) return repo.text;

  var markup = '<div class="clearfix">' +
      '<div class="col-sm-5">' + repo.nome + '</div>' +
      '<div class="col-sm-10"><i class="fa fa-envelope"></i> ' + repo.email + '</div>' +
      '</div>';

  return markup;
}

function formatRepoSelection (repo) {
  return repo.nome || repo.email;
}

$(document).ready(function () {
  $('.emails').click(function () {
    $("input[type=checkbox][name='id[]']:checked").each(function () {
      $('div.destinatarios select').val($(this));
    });
  });

  $(".destinatarios").select2({
    ajax: {
      url: "<?php echo site_url('admin/clientes/listarAjax')?>",
      dataType: 'json',
      delay: 250,
      data: function (params) {
        return {
          busca: params.term
        };
      },
      processResults: function (data) {
        return {
          results: data.items
        };
      },
      cache: true
    },
    escapeMarkup: function (markup) { return markup; }, // let our custom formatter work
    templateResult: formatRepo, // omitted for brevity, see the source of this page
    templateSelection: formatRepoSelection, // omitted for brevity, see the source of this page
    width: '100%'
  });
});
<link href="//cdnjs.cloudflare.com/ajax/libs/select2/4.0.0/css/select2.css" rel="stylesheet"/>

<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/select2/4.0.0/js/select2.js"></script>

<input type="checkbox" name="id[]" value="<?php echo $row->id; ?>" class="check">
<a class="btn btn-primary emails" data-toggle="modal" data-placement="top" title="Enviar E-mail" data-target="#emailModel">Enviar E-mail</a>

<select class="col-sm-8 col-lg-8 form-control destinatarios" multiple="multiple">
</select>

【问题讨论】:

标签: javascript jquery ajax jquery-select2


【解决方案1】:

只需将它们传递给你的模态函数,因为我没有看到你的模态函数的任何代码,所以我会给你一个例子

从你的复选框中你得到了值

[1,2,3,4]

在你的模态函数中

function modalOpen(arrayofcheckboxes){

 }

当你打开模态时,使用这样的功能

 modalOpen([1,2,3,4]);

【讨论】:

  • 我得到了值,我只需要在 select2 输入中选择它们。
猜你喜欢
  • 1970-01-01
  • 2011-06-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-24
相关资源
最近更新 更多