48

私は素晴らしいselect2コントロールで作業しています。

私もコンテンツでselect2をきれいにして無効にしようとしているので、これを行います:

$("#select2id").empty();
$("#select2id").select2("disable");

わかりましたが、値を選択した場合、すべての項目が削除され、コントロールは無効になりますが、選択した値は引き続き表示されます。プレースホルダーが表示されるように、すべてのコンテンツをクリアしたい。問題を確認できる例を次に示します。http://jsfiddle.net/BSEXM/

HTML:

<select id="sel" data-placeholder="This is my placeholder">
    <option></option>
    <option value="a">hello</option>
    <option value="b">all</option>
    <option value="c">stack</option>
    <option value="c">overflow</option>
</select>
<br>
<button id="pres">Disable and clear</button>
<button id="ena">Enable</button>

コード:

$(document).ready(function () {
    $("#sel").select2();

    $("#pres").click(function () {
        $("#sel").empty();
        $("#sel").select2("disable");
    });

    $("#ena").click(function () {
        $("#sel").select2("enable");
    });
});

CSS:

#sel {
    margin: 20px;
}

これについて何かアイデアやアドバイスはありますか?

4

10 に答える 10

30

なぜこのすべてのトラブル???

使用する:

 $('#sel').select2('data', null);
于 2013-10-23T15:50:10.897 に答える
11

select2(>= v4) コンポーネントを完全にクリーンアップするには:

$('#sel').val(null).empty().select2('destroy')
  • selectval(null) ->フォームデータを削除
  • select空 ->オプションを削除
  • select2(destroy) ->select2プラグインを削除

select2次に、必要に応じて、同じ選択 HTML ノードを使用して新しいコンポーネントを作成できます。

于 2019-04-13T19:53:09.137 に答える