web-dev-qa-db-fra.com

liste déroulante multisélection

J'utilise la liste déroulante multisélectionner.

S'il vous plaît regarder exemple jsfiddle

$(function () { $('#lstStates').multiselect({ }); });

Une fois que vous avez sélectionné les états, ils affichent la valeur TEXT et la virgule comme: New Jersey, New York, Ohio

Mais je veux la valeur de cet élément sélectionné comme: NJ, NY, OH

5
Maddy

Vous pouvez utiliser l'option buttonText de multiselect.

http://jsfiddle.net/ejqngpn5/

$('#lstStates').multiselect({ 
    buttonText: function(options, select) {
        console.log(select[0].length);
        if (options.length === 0) {
            return 'None selected';
        }
        if (options.length === select[0].length) {
            return 'All selected ('+select[0].length+')';
        }
        else if (options.length >= 4) {
            return options.length + ' selected';
        }
        else {
            var labels = [];
            console.log(options);
            options.each(function() {
                labels.Push($(this).val());
            });
            return labels.join(', ') + '';
        }
    }

});
7
Ersin Basaran

Utilisez buttonText option de multiSelect Plugin. Le paramètre options vous donne toutes les options que vous sélectionnez. Puis formatez votre valeur buttonText comme vous le souhaitez.

Script

$(function () {
   $('#lstStates').multiselect({
      buttonText: function(options){
         if (options.length === 0) {
            return 'No option selected ...';
         }

         var labels = [];
         options.each(function() {
           if ($(this).attr('value') !== undefined) {
               labels.Push($(this).attr('value'));
           } 
         });
        return labels.join(', ');  
     }
  }); 
});

Regardez le violon: http://jsfiddle.net/74b5pkpv/

0
Mahedi Sabuj