2

select2を使用して次の入力テキストボックスがあります:

<div class="col-md-6">
    <div class="form-group">
        <label for="QRY_Owner"> Owner ID</label>
        <input id="QRY_Owner" type="text" style="width:100%">
        </input>
    </div>
</div>

次のようにselect2を使用してセットアップされます:

            $("#QRY_Owner").select2({
                placeholder: "Owner ID",
                tags: [],
                tokenSeparators: [",", " ", ";"],
                maximumInputLength: 12,
                selectOnBlur: true,
                dropdownCssClass: "hiddenSelect2DropDown"
            });

ここで、テキスト入力のデフォルト値を設定したいと思います。私は次のことを試しました:

$("#QRY_Owner").select2("val", "test value");

そして以下:

$("#QRY_Owner").select2({
    tags:  ["red", "green", "blue"]
});

そして以下:

 $("#QRY_Owner").val("close");

しかし、フォームは更新されず、入力フィールドは空白です。また、ブラウザ コンソールにエラーは表示されません。

ここで何が欠けているかについて何か考えはありますか?

ここに私の問題を示すjsfiddleがあります: https://jsfiddle.net/snehilw/90m8hzpg/

4

2 に答える 2

1

問題の一部は、 select2 docsで指定されているように、タグで動作する<input>withを使用することです。.select2().select2()<select>

あなたの JSFiddle は、私が今述べたことのデモンストレーションです。それはさておき、本当に値を変更したい場合は、.select2 関数を再利用し (コピー/貼り付け)、その中のプレースホルダー属性を次のように任意のテキストに置き換える必要があります。

$(document).ready(function(){
  var QRY_Owner = $("#QRY_Owner");

  QRY_Owner.select2({
    placeholder: "Owner ID",
    tags: [],
    tokenSeparators: [",", " ", ";"],
    maximumInputLength: 12,
    selectOnBlur: true,
    dropdownCssClass: "hiddenSelect2DropDown"
  });

  QRY_Owner.select2({
    placeholder: "Test text",
    tags: [],
    tokenSeparators: [",", " ", ";"],
    maximumInputLength: 12,
    selectOnBlur: true,
    dropdownCssClass: "hiddenSelect2DropDown"
  });
});

常に$(document).readyJQuery と共に使用することを忘れないでください。これがベスト プラクティスです。

于 2016-01-20T21:45:51.837 に答える
1

リスト内のオプションからJQuery select2セットのデフォルト値から取得しましたか? . 追加するだけです:

.select2('val', ['AL', 'WY'])

jsfiddle

于 2016-01-20T21:34:27.893 に答える