【问题标题】:How to change the selected text value in jquery multiselect如何在jquery multiselect中更改选定的文本值
【发布时间】:2013-08-05 10:35:14
【问题描述】:

这是我的多选代码..

$("#cboMethod").multiselect({
                header: true,
                height: 150,
                selectedText: '# Method Selected',
                selectedList: 2,
                noneSelectedText: "Select Method",
                minWidth: 210
            });

在我的情况下,我有三个或更多选项......让它成为'OptionA','OptionB','OptionC'等。 因此,如果我单独选择“OptionA”,我需要将我的 selectedText 显示为“OptionA”。如果我选择了更多的值,包括 'OptionA',它应该是 'OptionA,...'

我使用了selectedList: 2,,所以如果我只选择“OptionA”,它会按预期工作...但是如果选择更多选项,它会更改为“OptionA,OptionB”...

是否可以将其设为 'OptionA,...'

【问题讨论】:

    标签: jquery jquery-ui jquery-plugins multi-select


    【解决方案1】:

    我通过在 multiselect.js

    中做一些小改动得到了我的解决方案

    这是代码更改:

    原始代码:

    else if (/\d/.test(o.selectedList) && o.selectedList > 0 && numChecked <= o.selectedList) {
                        value = $checked.map(function () { return $(this).next().text(); }).get().join(', ');
                    }
    

    更改代码:

     else if (/\d/.test(o.selectedList) && o.selectedList > 0 && numChecked <= o.selectedList) {
                            var result = $checked.map(function () { return $(this).next().text(); }).get().join(', ');
                            result = result.split(',');
                            if (result.length > 1) {
                                value = result[0] + ',...';
                            }
                            else {
                                value = $checked.map(function () { return $(this).next().text(); }).get().join(', ');
                            }
    
    
                        }
    

    这给了我解决方案..:)

    【讨论】:

      【解决方案2】:

      试试这个:

      $.map($(this).multiselect("getChecked"), function( input ){
                  return input.value;
      });
      

      要显示所选文本,您可以检查所选文本的长度,如下所示:

      checkedValues.length > 0 ? checkedValues.length > 1 ? checkedValues[0] + ',...' : checkedValues[0] : 'Please select an input'
      

      【讨论】:

      • 这给了我检查的值。实际上 selectedList 也是如此
      • 已更新,请检查它是否对您有帮助...或者如果您提供小提琴,它会很容易解决您的问题
      【解决方案3】:

      简单地做:

      $('#example-reset').multiselect({
          header: true,
          height: 150,
          allSelectedText: 'ALL UNITS SELECTED',
          selectedList: 1,
          numberDisplayed: 1,
          nonSelectedText: "CLICK TO SELECT",
          minWidth: 210
      });
      

      【讨论】:

        猜你喜欢
        • 2012-02-03
        • 1970-01-01
        • 1970-01-01
        • 2012-04-12
        • 2020-06-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多