3

私のコードについて助けが必要です:

私は要素を動的に追加しています。新しい要素を作成するには、これらの関数にCHOSENというプラグインが必要ですが、作成後にそれらを作成するには、関数を再実行してChosenのプロパティを新しい要素に追加しようとしました。

ajaxchosen = function () {
    $("select").each(function(index, element){
        $(element).ajaxChosen(
                   { method: "GET", 
                     url: $(element).attr("source"),
                     dataType: "json"
                   }, function(data){ 
                       var terms; 
                       terms = {};
                       $.each(data, function (i, val) {
                           return terms [i] = val;
                       });
                       return terms;
                   });
    });
};

$ (element).closest("form").find(".nested-field:visible:last").append(template.replace(regexp, new_id));
ajaxchosen();
4

2 に答える 2

7

Chosen を使用して既に変換されている選択の内容を変更する場合は、呼び出す必要があります。

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

または(使用しているバージョンによって異なります)

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

そのように選択された変更がその選択に再ロードされ、値が更新された後。そのため、(選択した div ではなく) select に ajax を直接使用して値を追加し、メソッドを呼び出します。

ドキュメントを確認してください:http://harvesthq.github.com/chosen/

于 2012-10-30T16:55:43.090 に答える
3

liszt:updated廃止されました。

使用する

$("#form_field").trigger("chosen:updated");
于 2013-10-21T08:49:41.803 に答える