0

これは私の複数選択コードです..

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

私の場合、3 つ以上のオプションがあります...「OptionA」、「OptionB」、「OptionC」などにします。したがって、「OptionA」だけを選択した場合、selectedText を「OptionA」として表示する必要があります。そして、「OptionA」を含むより多くの値を選択した場合、「OptionA、...」になるはずです

「 OptionA selectedList: 2,」のみを選択すると、期待どおりに機能します...しかし、さらにオプションを選択すると、「OptionA、OptionB」に変更されます...

OptionA,...「 」にすることは可能ですか?

4

3 に答える 3

4

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


                    }

これは私に解決策を与えました..:)

于 2013-08-06T06:15:19.510 に答える
0

これを試して:

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

選択したテキストを表示するには、以下に示すように、選択したテキストの長さを確認できます。

checkedValues.length > 0 ? checkedValues.length > 1 ? checkedValues[0] + ',...' : checkedValues[0] : 'Please select an input'
于 2013-08-05T10:41:04.177 に答える