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
Vous pouvez utiliser l'option buttonText
de multiselect.
$('#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(', ') + '';
}
}
});
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/