当我需要显示更多内容时,我的 select 框被缩小为两个条目

My select box is being narrowed to two entries when I need to show more

问题是我的 select 箱子物品被缩小到 2 件

select编辑的项目和所有。

我需要它来显示

的所有项目
function filterTheData() {
        debugger;
        var selectionFilter = {
            Category: window.selectedCategory,
            Year: window.selectedYear,
            Group: window.selectedSubmenu
        }

    if(isNaN(window.selectedYear)) {
        delete selectionFilter.Year
    }

    if(window.selectedCategory === 'all') {
        delete selectionFilter.Category
    }

    if(window.selectedSubmenu === 'all') {
        delete selectionFilter.Group
    }


    window.filteredData = _.filter(window.data, selectionFilter)
    delete selectionFilter.Year

    window.availableButtonYears = _.uniq(_.map(_.filter(window.data, selectionFilter), "Year"));
    window.availableCategory = _.uniq(_.map(_.filter(window.data, selectionFilter), "Category"));


    window.table.clear();
    window.table.rows.add(window.filteredData);
    window.table.draw();
    redrawButtonToolbar();
    createComboBox();
}



function createComboBox() {
    console.log("inside combo");

    let availableCategory = window.availableButtonYears;
    $('#categorySelectBox option').remove();


    $('#categorySelectBox option').remove();
    let categories = "";

    if((window.selectedSubmenu === "all")&&(window.selectedYear === "all"))
    {
        console.log("1st condition");
        categories = window.data;
    }

    if((window.selectedSubmenu === "all")&&(window.selectedYear !== "all"))
    {
        console.log("2nd condition");
        categories = _.filter(window.filteredData, {
            Year: window.selectedYear
        });
    }

    if((window.selectedSubmenu !== "all")&&(window.selectedYear === "all"))
    {
        console.log("3rd condition");
        categories = _.filter(window.filteredData, {
            Group: window.selectedSubmenu
        });
    }

    if((window.selectedSubmenu !== "all")&&(window.selectedYear !== "all"))
    {
        console.log("4th condition");
        categories = _.filter(window.filteredData, {
            Group: window.selectedSubmenu,
            Year: window.selectedYear
        });
    }

    categories = _.map(categories, 'Category');
    categories = _.uniq(categories);
    console.log(categories);
    categories = _.sortBy(categories)

    $('<option value="all">All</option>').appendTo('#categorySelectBox');
    _.each(categories, function(category) {
        var selected = '';

        var optionElement = $('<option />').val(category).text(category)

        if(category === window.selectedCategory) {
            optionElement.prop('selected', true)
        }
        $(optionElement).appendTo('#categorySelectBox');
    });

}

在 select 来自 select 框的一项后,数据被过滤为 2 项。

我分享这张截图是为了说明我的意思。

来自 console.log

列表中有 10 个项目。

[object Array]
0 "Snapple"
1 "Family"
2 "General"
3 "Computer"
4 "Company"
5 "Other"
6 "Netflix"
7 "Keyboard"
8 "Mouse"
9 "iPhone"

实际的项目名称已更改,但这是相似的。

您需要指定尺寸参数:

<select size="4" multiplie>
  <option>1</option>
  <option>2</option>
  <option>3</option>
  <option>4</option>
</select>

And/or指定身高:

select {
  height: 200px;
}
<select multiple>
  <option>1</option>
  <option>2</option>
  <option>3</option>
  <option>4</option>
</select>

因为看起来您的选项数量是动态的,所以使用 size 和等于选项数量的值可能是您最好的选择。

如果这不起作用,double-check 您没有来自限制 select.

高度的其他来源的 CSS