le placeholder jQuery Select2 ne fonctionne pas

je suis en suivant cette doc http://ivaynberg.github.io/select2/ pour créer boîte de sélection avec placeholder. Mon problème est le placeholder ne fonctionne pas. Pouvez-vous aider à réparer ce code?

Code:http://jsfiddle.net/VwGGU/3/

HTML:

<select style="width:300px" id="source">
    <optgroup label="Alaskan/Hawaiian Time Zone">
        <option value="AK">Alaska</option>
        <option value="HI">Hawaii</option>
    </optgroup>
    <optgroup label="Pacific Time Zone">
        <option value="CA">California</option>
        <option value="NV">Nevada</option>
        <option value="OR">Oregon</option>
        <option value="WA">Washington</option>
    </optgroup>
</select>

Javascript:

$("#e2").select2({
    placeholder: "Select a State",
    allowClear: true
});

L'exemple ci-dessus montre "Alaska" au lieu de "Sélectionner un L'état" en tant que placeholder.

UPDATE 1:

Ajouté select2.js maintenant et vide option. Il continue à ne pas le montrer placeholder

HTML

<select style="width:300px" id="source" placeholder="testt test">
    <option></option>
    <optgroup label="Alaskan/Hawaiian Time Zone">
        <option value="AK">Alaska</option>
        <option value="HI">Hawaii</option>
    </optgroup>
    <optgroup label="Pacific Time Zone">
        <option value="CA">California</option>
        <option value="NV">Nevada</option>
        <option value="OR">Oregon</option>
        <option value="WA">Washington</option>
    </optgroup>

JS

$(document).ready(function () {
    $("#source").select2({
        placeholder: "Select a State",
        allowClear: true
    });
});

http://jsfiddle.net/VwGGU/6/

UPDATE 2:

étrange que jsfiddle ait fait une erreur quand j'ai copié .css et .js link de github. Cette version fonctionne

HTML

<select style="width:300px" id="source" >
    <option></option>
    <optgroup label="Alaskan/Hawaiian Time Zone">
        <option value="AK">Alaska</option>
        <option value="HI">Hawaii</option>
    </optgroup>
    <optgroup label="Pacific Time Zone">
        <option value="CA">California</option>
        <option value="NV">Nevada</option>
        <option value="OR">Oregon</option>
        <option value="WA">Washington</option>
    </optgroup>

JS

$(document).ready(function () {
    $("#source").select2({
        placeholder: "Select a State",
        allowClear: true
    });
});

http://jsfiddle.net/VwGGU/9/

19
demandé sur Mad Physicist 2014-02-07 03:04:49

7 réponses

select un id de source mais vous ciblez une ide2 dans le sélecteur jQuery, et vous avez besoin d'un vide <option> la balise

30
répondu Pierre 2016-02-02 14:40:31

Avez-vous fait ceci:

lorsque placeholder est utilisé pour une boîte de sélection non multi-valeurs, il exige que vous incluiez une étiquette vide comme première option

41
répondu Mediabeastnz 2016-02-02 14:40:50
$selectElement.select2({
    minimumResultsForSearch: -1,
    placeholder: 'Select Relatives'
}).on('select2-opening', function() {
    $(this).closest('li').find('input').attr('placeholder','Select Relative');
});
1
répondu Amar Jagtap 2016-02-23 15:05:31

essayez ceci.En html, vous écrivez le code suivant.

<select class="select2" multiple="multiple" placeholder="Select State">
    <option value="AK">Alaska</option>
    <option value="HI">Hawaii</option>
</select>

et dans votre script, écrivez le code ci-dessous.

<script>
         $( ".select2" ).select2( { } );
 </script>
0
répondu Raham 2016-04-08 04:36:27
<select id="select2Box" class="form-control brand-select">
    <option value="">Select Franchise</option>
</select>
0
répondu Malladi Bhaskar 2017-01-19 12:57:40

vous devez ajouter une balise d'option vide à la select.

<select data-placeholder="Chose number" data-allow-clear="true" data-width="50%">
    <option></option>
    <option value="1">Number one</option>
    <option value="2">Number two</option>
    <option value="3">Number three</option>
</select>

Vérifier ce lien Placeholder ne fonctionne que lorsqu'il y a un élément d'option vide

0
répondu anayarojo 2018-08-02 23:37:46
 <script>
         $( "#id").select2({ placeholder: "Select Franchise" });
 </script>
-2
répondu Malladi Bhaskar 2017-01-19 15:01:11