【问题标题】:JQuery reset select2 in modalJQuery在模态中重置select2
【发布时间】: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 选择中

标签: jquery jquery-select2 jquery-select2-4


【解决方案1】:
$(".payment-method").val([]).trigger("change"); //Answered by apokryfos

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-27
      • 1970-01-01
      • 1970-01-01
      • 2019-01-14
      • 2019-01-14
      • 1970-01-01
      相关资源
      最近更新 更多