2015-05-27 47 views
3

我正在使用多选复选框下拉菜单。多选复选框下拉菜单

请看例子jsfiddle

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

一旦你选择了状态显示它然后文本值和CONCAT用逗号,如:新泽西州,纽约州,俄亥俄州

但我要的是选择的项目的VALUE如:NJ,NY,OH

回答

3

您可以使用多选的buttonText选项。

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(', ') + ''; 
     } 
    } 

}); 
+0

谢谢你,它的工作。 – Maddy

+0

只要确保你删除'console.log'语句,如果你不使用console-polyfill或类似的话。 –

+0

是的,我已经删除它。谢谢 – Maddy

0

使用buttonText MULTISELECT插件的选项。参数选件为您提供了所有您选择的选项。然后根据需要格式化buttonText值。

脚本

$(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(', '); 
    } 
    }); 
}); 

在小提琴看看:http://jsfiddle.net/74b5pkpv/