JQuery在模态中重置select2

Posted

技术标签:

【中文标题】JQuery在模态中重置select2【英文标题】:JQuery reset select2 in modal 【发布时间】:2018-03-06 02:36:15 【问题描述】:

我已经尝试过这样的方式来重置我的模态中的 select2,但它不起作用。

$(".payment-method").select2('data', null);

<div class="modal-body"> 
                  <form class="form-horizontal" id="category-form" enctype="multipart/form-data">
                   csrf_field() 
                        <div class="col-xs-12 col-sm-6 col-md-6">
                          <label>Payment Methods (Untuk kebutuhan tertentu)</label>
                          <div class="dropdown">
                            <select class="form-control payment-method" name="paymentType" multiple="multiple" data-placeholder="Select the payment method">
                              <option value="1">cash</option>
                              <option value="2">credit</option>
                              <option value="3">debit</option>
                            </select>
                          </div>
                        </div>
                      </div>

                </form>
                </div> 

【问题讨论】:

重置是什么意思?您要清除过滤器,还是重新初始化整个 &lt;select&gt; 元素?如果是后者,您可能需要在再次调用.select2() 之前先destroy it (i.e. .select2('destroy'))。 重置为清除选择?另外您使用的是哪个版本的 select2? @Terry 我使用select2在我的模态中选择数据,当我再次关闭并重新打开我的模态时,我的select2选择了之前的数据,所以我想在我重新打开时清除所有数据我的模态 @apokryfos 如何查看版本?我是编程界的新手 select2 版本 4+ 将侦听底层选择上的事件,因此如果您执行 $(".payment-method").val([]).trigger("change") 之类的操作,也应反映在 select2 选择中 【参考方案1】:
$(".payment-method").val([]).trigger("change"); //Answered by apokryfos

【讨论】:

【参考方案2】:

如果您使用 Select2 4.x 只需触发 change.select2

$('.payment-method').val(1).trigger('change.select2');

【讨论】:

以上是关于JQuery在模态中重置select2的主要内容,如果未能解决你的问题,请参考以下文章

在 Jquery 模态窗口关闭时重置 iframe src

python测试开发django-182.jQuery重置form表单

如何在 jquery 中重置下拉列表以便没有选择任何内容?

在引导模式上实现了 jquery 文件管理器

如何在 Bootstrap 4 模态表单中重置单选按钮和复选框? [复制]

在每个点击事件上重置/刷新模态数据