Javascript 要输入的Jquery表格单元格不工作

Javascript 要输入的Jquery表格单元格不工作,javascript,jquery,html,html-table,Javascript,Jquery,Html,Html Table,我正在尝试使用jquery实现一个可编辑表。它工作正常,但我再次单击它后,它会显示 为简化问题陈述: 当我在单元格中单击时,它将变得可编辑 当我在另一个单元格中单击时,所有单元格值都变为 单击另一个单元格时,我将丢失在一个单元格中输入的值 我的小提琴在这里:- jquery是:- $('#editTable').click(function () { $('td').each(function () { var html = $(this).html();

我正在尝试使用jquery实现一个可编辑表。它工作正常,但我再次单击它后,它会显示

为简化问题陈述:

  • 当我在单元格中单击时,它将变得可编辑
  • 当我在另一个单元格中单击时,所有单元格值都变为
  • 单击另一个单元格时,我将丢失在一个单元格中输入的值
  • 我的小提琴在这里:-

    jquery是:-

    $('#editTable').click(function () {
        $('td').each(function () {
            var html = $(this).html();
            var input = $('<input type="text" />');
            input.val(html);
            $(this).html(input);
        });
    });
    
    $('#编辑表')。单击(函数(){
    $('td')。每个(函数(){
    var html=$(this.html();
    变量输入=$('');
    val(html);
    $(this).html(输入);
    });
    });
    
    $(“#编辑表”)。每次单击时都会调用click
    ,因此当您第一次更改时,所有的
    td
    都会随着
    input
    而更改,当您下次在
    input
    标签上单击
    时,它会传播到
    \editTable
    ,您可以使用
    $(“#编辑表”)。一个('click'
    ,如下所示

    $('#editTable').one('click', function () {
        $('td').each(function () {
            var html = $(this).html();
            var input = $('<input type="text" />');
            input.val(html);
            $(this).html(input);
        });
    });
    
    $('editTable')。一个('click',函数(){
    $('td')。每个(函数(){
    var html=$(this.html();
    变量输入=$('');
    val(html);
    $(this).html(输入);
    });
    });
    
    在添加之前,请尝试检查
    td
    中的
    输入
    元素

    $("#editParamValues").click(function() {    
      $("td").each(function() {
          if (!$("input", this).length) {
            var html = $(this).html();
            var input = $("<input type=text />");
            input.val(html);
            $(this).html(input);
          }
      });
    });
    
    $(“#editParamValues”)。单击(函数(){
    $(“td”)。每个(函数(){
    if(!$(“输入”,this).length){
    var html=$(this.html();
    变量输入=$(“”);
    val(html);
    $(this).html(输入);
    }
    });
    });
    
    为什么不在td上添加一个
    属性contenteditable
    检查这个你从哪里得到的…我从来没有听说过这个投票,但是每次点击它都会在所有
    td
    @JagsSparrow可以使用
    :not()
    :has()
    为防止在每个
    点击事件时重复每个
    td
    ;不确定是否
    。each()
    用于OP中未包括的其他过程