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>
【问题讨论】:
重置是什么意思?您要清除过滤器,还是重新初始化整个<select>
元素?如果是后者,您可能需要在再次调用.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的主要内容,如果未能解决你的问题,请参考以下文章
python测试开发django-182.jQuery重置form表单