2

selected.js マルチセレクトにその場で新しい値を追加できるかどうか疑問に思っています (タグ付けの仕組みと同様)。

別のSO投稿で、ユーザーがこれが可能であると言っているのを見ました。彼は github の例フォークにリンクしていますが、私はそれらを実装するのに苦労しました。

ソースコードは CoffeeScript で書かれています。(オンライン コンパイラを使用して) 通常の JavaScript にコンパイルしようとしましたが、コードをコピーして空のテスト プロジェクトに貼り付けましたが、エラーが発生しました。その後、AbstractChosen と SelectParser もロードし (js にコンパイル)、エラーは発生しませんでしたが、「オンザフライで項目を追加」機能はありません (前述のリンクで説明されている選択を初期化しましたが)。 )。

誰かがこのフォークで働いたことがありますか? はいの場合、あなたの経験を教えてください。

4

3 に答える 3

3

あなたが抱えている問題は、ドキュメントの手順に従っていないためです:

ソースをダウンロードする場合は、正しいパッケージをインストールし、末尾にchosen.jquery.js,chosen.proto.jsおよびchosen.css.

したがって、次の手順でそれを行う必要があります。

  1. ダウンロード: https://github.com/koenpunt/chosen/archive/option_adding.zip
  2. パッケージをインストールします。npm install && gem install bundler && bundle install
  3. ビルドを実行します: grunt build(注、これにはgrunt cliが必要です)

編集

または、便宜上、コンパイル済みリリースをダウンロードしてください。

于 2013-08-13T07:49:30.053 に答える
1

ドキュメントには、このオプションが記載されています。

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

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

これとともに。

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

これと組み合わせることができます

// Add field
$("#form_field").append("<option>Utopia</option>");

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

これを例に追加すると、jsfiddle で見つけることができます: http://jsfiddle.net/E5X9x/

于 2013-08-13T05:42:29.793 に答える
0

解決策はこちら

$('select').chosen({plugins: ['option-adding']});

また

$(function() {
  $(".chzn-select").chosen({
    create_option: true,
    // persistent_create_option decides if you can add any term, even if part
    // of the term is also found, or only unique, not overlapping terms
    persistent_create_option: true,
    // with the skip_no_results option you can disable the 'No results match..' 
    // message, which is somewhat redundant when option adding is enabled
    skip_no_results: true
  });
});
于 2015-10-01T13:00:35.547 に答える