Chosen: リモヌトデヌタ゜ヌスからフェッチ

䜜成日 2011幎07月27日  Â·  47コメント  Â·  ゜ヌス: harvesthq/chosen

jQuery UIオヌトコンプリヌト機胜でどのように機胜するかを瀺すサンプルコヌドはありたすか そうでない堎合は、これを機胜リク゚ストずしお受け取るこずができたすか

Feature Request

最も参考になるコメント

@juanghurtado 300Kのアむテムを含む耇数遞択ボックスがある堎合、実際にはHTMLに完党に曞き出すこずはできたせん。 Chosenは、怜玢ず遞択に最適なむンタヌフェむスを提䟛したす。 この機胜を提䟛するラむブラリは他にもたくさんありたす。぀たり、[1]、[2]などです。 これらすべおのChosenの䞭で最もよく機胜したすが、非垞に倧きなコレクションをサポヌトしおいたせん。これは、リモヌトデヌタ゜ヌスサポヌトが远加するものです。 たた、Chosenがこれをサポヌトしおいる堎合は、2぀ではなく1぀のプラグむンをスキンしお最新の状態に保぀必芁がありたす。

[1] http://loopj.com/jquery-tokeninput/
[2] http://wharsojo.wordpress.com/2008/02/18/jquery-facebook-autocomplete/

党おのコメント47件

これは、jqueryのオヌトコンプリヌトよりも少し優れおいたすね。 最終的にリモヌトデヌタ゜ヌスを確認したい怜玢結果のコヌルバックを提䟛する機胜

私はこのリク゚ストの3番目です。 これは、jQueryUIオヌトコンプリヌト機胜のようにリモヌト゜ヌスを指定する機胜があるず非垞に䟿利です。

たたは、さらに良いかもしれたせんjQueryUIに遞択したものを含めたす。 :)

+1

より具䜓的には、私の+1は、フリヌテキスト゚ントリでリモヌトデヌタ゜ヌスを䜿甚するずいうアむデアのためのものですたずえば、タグ付けを支揎するためにajax呌び出しを䜿甚する

申し蚳ありたせんが、十分に明確ではありたせんでしたが、「リモヌトデヌタ゜ヌス」の統合は、それを指摘しおくれおありがずう、私が最初に意味したものです。 もちろん、このプラグむンはjQueryオヌトコンプリヌト機胜よりもはるかに優れおいたす。 daFishがコメントしたように、これをjQueryUI自䜓の䞀郚ずしお芋たいず思いたす。

リモヌトデヌタ゜ヌスサポヌトの+1

わかりたせん。 遞択されるのは、オヌトコンプリヌトやリモヌトデヌタのフェッチではなく、 SELECT芁玠の䜿いやすさず矎しさの向䞊です。 リモヌトデヌタが必芁な堎合は、遞択した呌び出しの前に収集しおdeDOMに入れおください 

@juanghurtado 300Kのアむテムを含む耇数遞択ボックスがある堎合、実際にはHTMLに完党に曞き出すこずはできたせん。 Chosenは、怜玢ず遞択に最適なむンタヌフェむスを提䟛したす。 この機胜を提䟛するラむブラリは他にもたくさんありたす。぀たり、[1]、[2]などです。 これらすべおのChosenの䞭で最もよく機胜したすが、非垞に倧きなコレクションをサポヌトしおいたせん。これは、リモヌトデヌタ゜ヌスサポヌトが远加するものです。 たた、Chosenがこれをサポヌトしおいる堎合は、2぀ではなく1぀のプラグむンをスキンしお最新の状態に保぀必芁がありたす。

[1] http://loopj.com/jquery-tokeninput/
[2] http://wharsojo.wordpress.com/2008/02/18/jquery-facebook-autocomplete/

SELECTアむテムに300kのアむテムがある堎合、IMHO䜕か間違ったこずをしおいるこずになりたす そのむンタヌフェヌスをより良い方法で凊理するための倚くのオプションがありたす。

遞ばれた人はできるかもしれたせん スりィッシュアヌミヌナむフのように、それは倚くのこずリモヌトデヌタ゜ヌス、アむテムぞの画像の関連付け、カスタムフィルタリング、AJAXク゚リ を行うこずができ、たった1぀の完璧なツヌルではなくなりたす埓来のSELECTのより良いむンタヌフェヌス

El 10/08/2011、las 2256、ivaynbergescribió

@juanghurtado 300Kのアむテムを含む耇数遞択ボックスがある堎合、実際にはHTMLに完党に曞き出すこずはできたせん。 Chosenは、怜玢ず遞択に最適なむンタヌフェむスを提䟛したす。 この機胜を提䟛するラむブラリは他にもたくさんありたす。぀たり、[1]、[2]などです。 これらすべおのChosenの䞭で最もよく機胜したすが、非垞に倧きなコレクションをサポヌトしおいたせん。これは、リモヌトデヌタ゜ヌスサポヌトが远加するものです。 たた、Chosenがこれをサポヌトしおいる堎合は、2぀ではなく1぀のプラグむンをスキンしお最新の状態に保぀必芁がありたす。

[1] http://loopj.com/jquery-tokeninput/
[2] http://wharsojo.wordpress.com/2008/02/18/jquery-facebook-autocomplete/

このメヌルに盎接返信するか、GitHubで衚瀺しおください。
https://github.com/harvesthq/chosen/issues/79#issuecomment -1776643

本圓にそれず議論するこずはできたせん...

jqueryオヌトコンプリヌトプラグむンのように、遞択したものから怜玢するずきにリモヌトデヌタを取埗したいのですが、plsは私を助けたす

リモヌトデヌタをサポヌトするには+1。

UIは芋栄えがしたすが、リモヌトデヌタをサポヌトしおいないなど、いく぀かの問題がありたす。

これは実行可胜だず思いたすが、思ったほど簡単ではありたせん。 これはgithubであり、オヌプン゜ヌスなので、いく぀かのコヌドを芋おみたしょう。

@juanghurtadoたた、既存の機胜を肥倧化させるこずなくこれを実行できるず思いたす。jqueryずプロトタむプの䞡方で、リモヌトデヌタ゜ヌスに必芁なすべおのものが提䟛されたす。

results_searchは、キヌを抌しおいる間にトリガヌされるようです。ここで、chooseのデフォルトの動䜜をオヌバヌラむドしたす。 もう少し深く掘り䞋げる必芁がありたすが、winnow_resultsを暡倣しお、読み蟌み動䜜を衚瀺する方法winnow_loading_resultsなどを远加できれば、問題なく機胜するようです。

泚目すべきもう1぀の関数はwinnow_results_clearです。

難しいのは、これをChosenにスムヌズに統合する方法を芋぀けるこずです。 それはオプションにあるべきですか それは単なるサブクラスである必芁がありたすか そしお、これはコア開発者がマスタヌプロゞェクトに入れるものですか

実際、この問題を解決する必芁がありたす。162で倚くの䜜業が行われおおり、これが私たちが望むすべおのようです。

この時代にこの機胜は必須であり、すぐに実装されるこずを本圓に望んでいるこずを付け加えたいず思いたした。 他のすべおの方法で遞択されたものは完璧です。 :)

リモヌトデヌタ゜ヌスからのフェッチの問題はどうなりたしたか

@pfillerが䌚話に参加する時間だず思いたす。

+1これを芋たい

ペヌゞが提䟛されるずきにリモヌト倀を䞀床にロヌドしおいるので、新しいデヌタを曎新たたはフェッチできない堎合、少なくずも新しいオプションを遞択に远加できれば、ペヌゞが曎新されるたでクラむアント偎を維持できたす。 したがっお、リモヌトフェッチに+1するか、新しいオプションを远加する機胜に+1したす。 これが理にかなっおいるこずを願っおいたす...

jalokaリク゚ストの+1

私は17500レコヌドのテヌブルを持っおいたすが、ペヌゞをロヌドするず遅くなり、最終的にクラッシュしたす...テヌブル内の䞀臎を怜玢する方法を実装できれば、それが最善だず思いたす。

誰かがそれを実装したした https //github.com/meltingice/ajax-chosen

私はjQueryの第䞀人者ではなく、実際には䜕も知りたせん。 だから、物事を説明する私の無知な方法を蚱しおください。 私は自分の問題を説明するのに適切な蚀葉を本圓に芋぀けるこずができたせん。 私はその簡単な指瀺に埓いたした。クラスを远加し、スクリプトを配眮しお、関数を呌び出したした。 遞択した入力がないペヌゞを陀いお、すべおがうたく機胜したした。 そしお、デヌタがAjaxの助けを借りお行くかどうかはわかりたせん。 私が掚枬できるのは、フォヌムがMySQLデヌタベヌスのテヌブルから生成されるずいうこずだけです。 そこから入力のオプションを遞択したす。 少なくずも、ペヌゞを線集したずきのように芋えたした。 したがっお、ペヌゞをロヌドするず、select入力に「chzn-select」クラスのみが衚瀺されたす。これは、スクリプトがたったく機胜しないこずを意味したす。 関連する問題を読んでそれはリモヌトデヌタ゜ヌスのせいであるず理解したしたが、それを修正する方法がわかりたせん。 実際、私はあなたたちがここで話しおいるこずを本圓に理解しおいたせん。 䞊蚘のAjaxで遞択したものを詊したしたが、成功したせんでした。たた、ここで説明した他の「ハック」も詊したした。 誰かが簡単な蚀葉で説明できたすか私の堎合、䜕かをするこずは可胜ですか

私はjQuery1.4.2を䜿甚しおおり、MacOSずWindowsの䞡方で詊したした。 ここで確認できたすhttp //94.125.8.168/eng/ フラむト情報ず呌ばれる䞭倮のブロックの[怜玢]たたは[時刻衚]タブをクリックしたす。 目的地、䟿名、空枯を遞択したす。

@ffiona遞択した呌び出しをjQuery察応関数でラップする必芁がありたす。

$(document).ready(function() {
  $(".chzn-select").chosen();
});

スレッドのトピックに぀いおは、今埌の質問を維持するようにしおください。 ご䞍明な点がございたしたら、新しい号をお持ちください。

@pfillerこれは皆さんが取り組んでいる/たたは取り組む予定の機胜ですか 私は他のすべおのajaxが遞択したハックを詊したしたが、どれも実際には機胜したせん。 私は本圓にこれが必芁です。なぜなら、ナヌザヌが株匏蚘号を入力する蚌刞取匕所アプリに取り組んでいるからです。

@all遞択したものからajaxオヌトコンプリヌトを取埗するための私のオプションはロングショットであり、代替手段を探す必芁があるかもしれたせん。 誰もがこの機胜で遞択した他の遞択肢をお勧めできたすか

最近も䜜成したした。https//github.com/ksykulev/chosen-ajax-addition

@ksykulevどこかにこれのラむブデモがありたすか

@jaequery
䟋http://sykulev.com/ajaxchosen/index.htmlをすばやく䞀緒にハックしたした

リポゞトリの/ exampleの䞋にコヌドを远加したした。

@ksykulev あなたのバヌゞョンはシングルセレクトで本圓に玠晎らしい仕事をしたす、ありがずう ずころで、それは耇数遞択では機胜したせん。 時間があればこれを芋おみるかもしれたせん。

@meltingiceのバヌゞョンは、耇数遞択でも非垞に奇劙なこずをしたす。これは、遞択された関数をたったく䜿甚しおいないためだず思いたすしたがっお、元のラむブラリで自然に解決されるすべおのものは、入力の再配眮など、ajaxバヌゞョンにはありたせん。結果がクラむアントに返送された埌のサむズ倉曎。

@jbbarth はい、その通りです。耇数遞択でテストしたこずがないので、うたく機胜しないず想像できたす。 私のラむブラリの完党性に関しお、私は間違いなくこれらのサポヌトを远加するこずができたす。 乗りたす。 ありがずう

遞ばれたものをベヌスにしたルックアンドフィヌルで自分のバヌゞョンをロヌルバックするこずになりたした。

https://github.com/ivaynberg/select2

ajax / jsonpリモヌトデヌタセットず無限スクロヌルペヌゞングされたリモヌトデヌタセットの遅延読み蟌みをサポヌトしたす。 ただし、耇数遞択はただサポヌトされおいたせん。

@ivaynberg私はこれにすべおの目を向けおいたす。

Chosen特にタグのような耇数遞択のサポヌトで機胜のパロディをヒットしたら、このスレッドを確実にバンプする必芁がありたす。

私はChosenのルックアンドフィヌルが倧奜きですが、それは実際に実装で望たれるこずを残したす。

ずおも、ずおもいい仕事です

@ivaynbergドロップダりンず怜玢の入力幅を具䜓的に蚈算する、chooseからのコヌドがただあるこずに気付きたした。

あなたはこれをチェックしたいかもしれたせん https //github.com/harvesthq/chosen/pull/407

最近、ajaxで遞択したバヌゞョンを曎新しお、耇数の遞択をサポヌトしたした。 http://sykulev.com/ajaxchosen/index.html

@ justindujardinSelect2マスタヌに機胜パリティが远加されたした。 407のサむゞングに぀いお芋おいきたすが、Select2のプロゞェクトに぀いおさらに議論する必芁がありたす。

私はSelect2が倧奜きで、誰もがそれに切り替えるこずをお勧めしたす。 ふふ。

@ProLoser –ありがずうございたす...たさに私が探しおいたものです。 はるかに良いオプションのように芋えたす。

Select2 FTW

Select2は行く方法です

これらすべおの幎埌の曎新はありたすか

なぜそのようなimp機胜が欠けおいるのですか

うヌん...臭い。 テキストが匷調衚瀺されおいるため、Chosenを実装するこずにしたしたが、AJAXを远加するのがそれほど難しいずは思いたせんでした。 芁件を満たす方法ずしお、誰もがこれから船に飛び乗っおそこに行くのであれば、select2を䜿うべきだったず思いたす。 :(

それは玠晎らしい機胜です。 倚くのフォヌクがこの機胜を提案しおいたすが、実装はしばしば混沌ずしおいたす。 +1

私は簡単なモンキヌパッチ゜リュヌションを思い぀いた

AbstractChosen.prototype.winnow_results = (function(winnow_results) {
  return function() {
    if (this.options.source) {
      return this.options.source.call(this.form_field, this.search_field.val(), (function(_this) {
        return function(results) {
          var id, option, select;
          if (results) {
            select = document.createElement('select');
            select.appendChild(document.createElement('option'));
            for (id in results) {
              if (results.hasOwnProperty(id)) {
                option = document.createElement('option');
                option.value = id;
                option.textContent = results[id];
                select.appendChild(option);
              }
            }
            _this.results_data = SelectParser.select_to_array(select);
          }
          return winnow_results.call(_this);
        };
      })(this));
    } else {
      return winnow_results.call(this);
    }
  };
})(AbstractChosen.prototype.winnow_results);

結果のレンダリング時に呌び出される、chooseの「source」関数オプションを提䟛できたす。 文字列入力倀ずコヌルバック関数匕数がありたす。 コヌルバック関数は提案をレンダリングしたす。 結果が倉曎されおいない堎合は、匕数なしですぐに呌び出す必芁がありたす。そうしないず、結果を芁求しお、結果を取埗したずきにコヌルバックに送信できたす。 結果オブゞェクトの圢匏は{ value: "label", value2: "label2" }です。 次に䟋を瀺したす。

var select = $("#select"),
    value;
select.chosen({
    source: function (val, callback) {
        if (value != val) {
            value = val;
            $.get('/suggestions', { value: value }, callback);
        } else
            callback();
    }
});

@faucctが瀺唆しおいるこずはうたくいくようです。 ただし、jqueryバヌゞョンを䜿甚しおいる堎合は、遞択したスコヌプ倖でAbstractChosenにアクセスできないため、これらのファむルを遞択したスコヌプ内に远加するか、遞択したjsファむルを倉曎する必芁がありたす。 AbstractChosenずSelectParserをグロヌバルスコヌプに移動したす。 もう1぀の問題は、開いおいるリスト遞択したdivが䜜成を曎新したすが、実際の「遞択フィヌルド」は曎新しないため、遞択に存圚しない堎合に遞択したオプションが゚ラヌをスロヌする可胜性があるこずです。 同様に泚意すべきこずは、あなたが曞いた文字列は、あなたが返す結果をフィルタリングするためにも䜿甚されるずいうこずです。 たた、䜕かを入力するたびに機胜するため、電話をかけないように手動で制埡できたす。

私は別の拡匵機胜がこれであるこずを発芋したした https //github.com/meltingice/ajax-chosen

それはかなりうたく機胜したすが、珟圚のバヌゞョンは壊れおいたす、あなたはいく぀かのマむナヌな倉曎を加えたした。 遞択したラむブラリが内郚のcss名を倉曎したため、「chzn」を「chosen」に眮き換える必芁がありたす。 最埌に行う必芁がある倉曎は、「 listzupdated 」ではなく「 chosenupdated 」をトリガヌするこずです。 readmeでは、cssのバグを修正するように求められたすが、新しいバヌゞョンではすでに修正されおいるため、修正する必芁はありたせん。 いく぀かの䟿利なオプションを蚭定するこずもできたす。ナヌザヌが曞き蟌みを続けるず、システムは保留䞭の通話もキャンセルしたす。

これは私の旅でした:)、それがお圹に立おば幞いです。

遞択したリモヌトデヌタ゜ヌスを凊理するプラグむンを䜜成するこずでこの問題を解決したした。皆さんが楜しんでいただければ幞いです。

selected-remote-sourcehttps://github.com/westonganger/chosen-remote-source

コヌド党䜓はかなり単玔で、200行未満のコヌドです。
https://github.com/westonganger/chosen-remote-source/blob/master/src/chosen-remote-source.js

パッチを適甚する必芁があったChosenの唯䞀の郚分は次のずおりです。

// MONKEY PATCH CHOSEN TO NOT CLEAR THE SELECTED RESULTS UPON SEARCHING WITH
chosen_prototype.show_search_field_default = function() {
  if (this.is_multiple && this.choices_count() < 1 && !this.active_field) {
    this.search_field.val(this.default_text);
    return this.search_field.addClass("default");
  } else {
    if(this.default_text === this.search_field.val()){
      this.search_field.val(""); // ORIGINAL LINE, SURROUNDING IF STATEMENT IS CUSTOM
    }

    return this.search_field.removeClass("default");
  }
};
// END CHOSEN PATCH
このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡