为什么 select2 下拉菜单只显示在我表格的第一行?

问题描述

大家好,我正在尝试使用 select2 制作下拉菜单。我的 select2 下拉菜单遇到了问题。由于某种原因,select2 下拉菜单显示在我表格的第一行。但我不明白为什么会这样。我希望 select2 下拉菜单显示在整个管理列中,而不仅仅是第一行。

这是我的表格代码

                    <tbody id="myTable">
                        <tr class="table">
                            <td class="table">email</td>
                            <td class="table">name</td>
                            <td class="table">
                                <form>
                                    <select id="isAdmin">
                                        <option selected>false</option>
                                        <option value="false">false</option>
                                        <option value="true">true</option>
                                    </select>
                                </form>
                            </td>
                            <td class="table">bhv</td>
                        </tr>
                    </tbody>

这是我的 select2 代码

    var isAdmin;
    $('#isAdmin').select2({
        placeholder: 'Choose..',});
    $("#isAdmin").on("select2:select select2:unselect",function (e) {
        //this returns all the selected item
        isAdmin = $(this).val();
    })

这是浏览器中的表格

Here is the table in the browser

解决方法

使用类而不是Id,

一个页面上不能有 2 个或更多具有相同 ID 值的项目。

                <tbody id="myTable">
                    <tr class="table">
                        <td class="table">email</td>
                        <td class="table">name</td>
                        <td class="table">
                            <form>
                                <select class="isAdmin">
                                    <option selected>false</option>
                                    <option value="false">false</option>
                                    <option value="true">true</option>
                                </select>
                            </form>
                        </td>
                        <td class="table">bhv</td>
                    </tr>
                </tbody>

那么 var isAdmin; $('.isAdmin').select2({ 占位符:'选择..',}); $(".isAdmin").on("select2:select select2:unselect",function (e) { //这将返回所有选定的项目 isAdmin = $(this).val(); })