javascript - 下拉列表未出现在可编辑表格单元格中

标签 javascript jquery html css dropdown

我想创建一个可编辑的表格。我可以在其中更改表格单元格的内容。简单输入工作正常,但下拉或选择不起作用。这是我所做的示例。

$(function() {
    $("td").click(function() {
        var OriginalContent = $(this).text();
        console.log(OriginalContent);
        $(this).addClass("cellEditing");
        $(this).html("<select><option>1</option><option>2</option><option >3</option></select>");
        $(this).children().first().focus();

        $(this).children().first().keypress(function(e) {
            if (e.which == 13) {
                var newContent = OriginalContent;
                $(this).parent().text(OriginalContent);
                $(this).parent().removeClass("cellEditing");
                console.log('value' + $(this).val());
            }
        });
        $(this).children().first().blur(function() {
            $(this).parent().text(OriginalContent);
            $(this).parent().removeClass("cellEditing");
        });
    });
});
.editableTable {
    border:solid 0px;
    width:100%;
    text-align:center
}
.editableTable td {
    border:solid 1px;
}
.editableTable .cellEditing {
    padding: 0;   
}
select{
  border:0px;
  border-color:none
}
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table class="editableTable">
       
        <tbody>
            <tr>
                <td>0</td>
                <td>0</td>
                <td>0</td>
                <td>0</td>
            </tr>
            <tr>
                <td>0</td>
                <td>0</td>
                <td>0</td>
                <td>0</td>
            </tr>
            <tr>
                <td>0</td>
                <td>0</td>
                <td>0</td>
                <td>0</td>
            </tr>
        </tbody>
    </table>

我面临的问题

  • 下拉菜单或选项未正确显示,当我点击它们两次时,它会获取所有选项并将它们合并并设置为原始值。

这里需要什么

  • 带有选项但选项或下拉列表的可编辑表格应仅在单击单元格时出现。

  • 按回车键后,新值出现在控制台中,原始值保留在其单元格中。

  • 如果可能的话,下拉菜单或选项不应像下拉菜单或选项那样显示,也不应显示右箭头。

  • 点击单元格后,单元格的宽度不应改变。

帮我找到一个更好的方法来做这件事,或者告诉我我做错了什么。提前致谢。

最佳答案

您需要为表格中的编辑 功能设置自定义按钮。 在您的代码中,当您第一次点击 td 时,您的点击事件被触发。 而且当你点击下拉菜单时也会触发 td click 事件。 因为那个下拉选项没有正确显示

关于javascript - 下拉列表未出现在可编辑表格单元格中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44071268/

相关文章:

javascript - 如何在不影响内部 anchor 的情况下使 li 可点击?

javascript - bootstrap模态点击div出现一次

javascript - 如何在javascript中获取动态id

javascript - 我怎样才能让我的 .factory 返回 promise 的结果(.then)

javascript - while 循环因 jquery 中的某些数学函数而崩溃

jquery ui 自动完成复杂搜索以及前后结果

javascript - 使用 javascript 从 JSON 响应中删除内联样式

javascript - React - 从属于同一个 render() 的另一个组件触发组件方法

javascript - ArrayController 中某个项目的单独 View

html - Bootstrap 'align-content-around' 不工作