9

select2複数値の選択があり、ライブラリを使用して選択項目の数に制限を設定したいと考えています。

ドキュメントmaximumSelectionSizeには、オブジェクトの初期化中に設定する必要があると書かれています。残念ながら、次のコードは機能しません。

$(document).ready(function () {
    $("#select_demo").select2({
        maximumSelectionSize: 3
    });
});

私のHTML選択ボックス:

<div class="form-group">
    <select id="select_demo" multiple="multiple" class="form-control select2 select2-container-multi">
        <optgroup label="One">
            <option>one</option>
            <option>two</option>
            <option>three</option>
            <option>four</option>
        </optgroup>
        <optgroup label="Two">
            <option>one2</option>
            <option>two2</option>
        </optgroup>
        <optgroup label="Three">
            <option>one3</option>
            <option>two3</option>
            <option>three3</option>
            <option>four3</option>
        </optgroup>
    </select>
</div>

http://jsfiddle.net/x4oqL1jr/2/

このコードの塊の何が問題なのですか?

4

1 に答える 1

20

バージョン 4.0以降、select2に置き換えられmaximumSelectionSizeましたmaximumSelectionLength

したがって、jsコードを次のように変更するだけです。

$(document).ready(function () {
    $("#select_demo").select2({
        maximumSelectionLength: 3
    });
});

このリンクから最新のドキュメントを見つけることができます: https://select2.github.io/examples.html#multiple-max

すべてが魅力のように機能します:

http://jsfiddle.net/4tk4hymn/1/

更新:data-maximum-selection-length="3"コメントで指摘されているように、属性を追加することもできます。たとえば、http://jsfiddle.net/1b8y9uzh/を参照してください。

于 2015-04-07T09:15:19.043 に答える