6

Formtastic と Chosen を使用して作成された、複数選択フィールドを持つフォームがあります。

このフォームには複数選択フィールドがあります。ここにそのレールコードがあります:

 = 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 を使用して入力フィールドをリセットしたいのですが (フォームが送信され、リモートでリセットされます)、選択した要素を削除する//入力フィールドをクリアする方法がわかりません。問題は、選択すると入力フィールドが変更されるため、単純なテキスト領域ではないことです。

誰かが私を正しい方向に向けることができますか?

4

11 に答える 11

13

Try this

$('.chzn-select').val('').trigger('liszt:updated');
于 2012-09-22T13:02:47.493 に答える
1

ドキュメントから

動的に選択されたものを更新する

選択フィールドのオプションを更新する必要があり、Chosen に変更を反映させたい場合は、フィールドで "chosen:updated" イベントをトリガーする必要があります。選択されたものは、更新されたコンテンツに基づいて再構築されます。

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

私の場合はそうでした

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

my-select-boxセレクトボックスのIDです。

于 2016-06-01T06:37:23.130 に答える
1

You can reset the multiple select using jQuery as follows

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

Where the class name of your select is chzn-select.

An working example here.

于 2012-09-22T13:02:03.400 に答える
0

これは私にはうまくいきます

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

基本的に、リセット後に選択したフォームのリセットと更新を強制します。:D

于 2014-09-15T17:55:57.013 に答える