你如何使用jQuery重置所选的多个选择字段?(How do you reset a Chosen

2019-09-22 19:28发布

我有多个选择字段的表单,创建使用Formtastic和选择的。

这种形式有多种选择栏,这里是它的轨道代码:

 = semantic_form_for 'post', :url => action_name_post_path(@post), :html => {:method => :put}, :remote => true do |f|
    = f.input :blogs, :label => _("Blog"), :as => :select, :multiple => :true, :input_html => {:class => "chzn-select"}, :collection => Blog.all

我希望重置使用jQuery输入字段(在提交表单和远程复位)和I似乎无法找出如何移除所选元素//清除输入字段。 问题是,选择改变输入字段,所以它不是一个简单的文本区域。

任何人都可以点我在正确的方向?

Answer 1:

尝试这个

$('.chzn-select').val('').trigger('liszt:updated');


Answer 2:

好像两个答案的组合为我工作:

$('.chosen-select option').prop('selected', false).trigger('chosen:updated');

这将取消选择所有选项,同时向下重置所选下降。

http://jsfiddle.net/donkeysauras/j9yuL/ < -工作示例



Answer 3:

这为我工作:

$('form#form_id').find('select').each(function(i, element) {
    $(element).chosen('destroy');
    $(element).prop("selectedIndex", -1);
    $(element).chosen();
});


Answer 4:

从文档

更新获选动态

如果你需要在你的选择字段更新选项,并要选择拿起变化,你需要触发“选择:更新”在球场上的事件。 基于更新后的内容的选择将重新建立本身。

$("#form_field").trigger("chosen:updated");

在我的情况下,它是

jQuery("#my-select-box").trigger("chosen:updated");

my-select-box的选择框的ID。



Answer 5:

您可以重置multiple select使用jQuery如下

$('.chzn-select option').prop('selected', false);

class name的选择是chzn-select

这里的工作示例



Answer 6:

对于谁可能已经结束了在这个问题上(有多个,他们需要进行组合),所选择已更新了他们的语法 - 用这个来代替:

$('.chzn-select').val('').trigger('chosen');

其中, '.chzn-select'为可以切换出'select''#yourSelect'或您希望使用的选择的任何其他方法。

查看:

  • 如何重置用jQuery一个jQuery挑选的选择的选择吗?
  • http://harvesthq.github.io/chosen/#change-update-events


Answer 7:

这工作正常,我

$('.reset-btn').click(function(){
    var form = $(this).closest('form').get(0);
    form.reset();
    $('.chosen-select').trigger('chosen:updated');
});

基本上我迫使形式复位和更新复位后选择的。 :d



Answer 8:

It all depends on your chosen settings. It worked for me:

$('.chzn-select-no-search').val('').trigger('liszt:updated');


Answer 9:

该解决方案为我工作

$('#.chosen-select').val('').prop('selected', false).trigger('chosen:updated')


Answer 10:

只有这可能是工作:

$('#client_filter').html(' '); //this worked

不工作:

$('#client_filter').val('').trigger('change') ; //not working
$('#client_filter').val('').trigger('chosen:updated') ; //not working
$('#client_filter').val('').trigger('liszt:updated') ; //not working


文章来源: How do you reset a Chosen multiple select field using jQuery?