多选 jquery 框的动态 "noneSelectedText"

Dynamic "noneSelectedText" for multiselect jquery box

我正在尝试为页面的多选复选框部分获取动态字段 - 特别是 noneSelectedText。这是 html:

<select name="set_town[]" class="my_select set_town" multiple="multiple" data-selected-text="Select Town">

我找到了 jQuery UI MultiSelect Widget - noneSelectedText for more than one select tag ,但我无法使用包含的代码示例。我用了 .data().attr() 都无济于事。以下有效,但 "Select Town" 内容不是动态的,我有几个复选框字段要填充(全部不同)。

   $('select[multiple="multiple"]').multiselect({
    noneSelectedText: 'Select Town',
    header:  false,
    selectedText: function(numChecked, numTotal, checkedItems){
       return numChecked + ' of ' + numTotal + ' checked';
       }

虽然字段不多,所以如果我能正确设置条件,我愿意对值进行硬编码,但我认为我的语法也有问题...

   $('select[multiple="multiple"]').multiselect({
    if ( $(".set_town" ) ) {
       noneSelectedText: 'Select Town',
    }
    header:  false,
    selectedText: function(numChecked, numTotal, checkedItems){
       return numChecked + ' of ' + numTotal + ' checked';
       }

您可以使用 $.each() 遍历 jQuery 选择并获取每个元素的数据属性:

$('select[multiple="multiple"]').each(function() {
    var select = $(this);
    select.multiselect({
        noneSelectedText: select.data('selected-text'),
        header:  false,
        selectedText: function(numChecked, numTotal, checkedItems) {
           return numChecked + ' of ' + numTotal + ' checked';
        }
    });
});