-1

このコードを使用して、データベースに保存された前のページで行われた選択のタグを適用しています。

タグを作成しますが、テキストを挿入せず、X を挿入して削除します。selected は可能な場所の配列です。

すなわち["work", "home", "away", "Hong Kong", "Manchester".......]

var selected = this.location
var $element = $("#location").select2();
for (var d = 0; d < selected.length; d++) {
    var item = selected[d];
    var option = new Option(item.text, item.id, true, true)
    $element.append(option);
}

ここでのselect2の問題はすべて、主に静的データを扱っているように見えるか、現在の知識レベルでは高度な問題であるため、助けていただければ幸いです。

リクエスト通り、

コードに関してはこれですべてです。タグにテキストを入れたいだけ

現在、このように見えますhttp://prntscr.com/a1h2nu 私はこのようにする必要がありますhttp://prntscr.com/a1h33w

ここにHTMLがあります

  <div class="form-group">
        <label for="location" class="col-lg-3 control-label">Location</label>
        <div class="col-lg-8">
            <select class="form-control" id="location" multiple="multiple" style="width: 100%">
            </select>
            <span class="help-block"></span>
        </div>
    </div>



var item = selected[d];
console.log(item);
var option = new Option(item.text, item.id, true, true)
console.log(option);
$element.append(option);

これは開発ツールの出力 です http://prntscr.com/a1hdf7

4

2 に答える 2

0

EDIT 更新された jsFiddle は、ここにあります。主な問題は、正しいセレクターを見逃したことです。

Select2 が変更を考慮に入れるためには、コントロールが再評価されるように変更をトリガーする必要があります。

ここでライブフィドルを見ることができます

のように

$(".js-programmatic-set-val").on("click", function () { $example.val("CA").trigger("change"); });

Select2 ドキュメントへの参照プログラムによるアクセス

于 2016-02-10T15:48:15.270 に答える
0

まあそれは簡単な修正でしたこれから...

var item = selected[d];
console.log(item);
var option = new Option(item.text, item.id, true, true)
console.log(option);
$element.append(option);

これに...

var item = selected[d];
console.log(item);
var option = new Option(item, item.id, true, true)
console.log(option);
$element.append(option);
于 2016-02-15T09:17:22.600 に答える