You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

尝试将表格单元格内容赋值到输入框失败,代码无错但无效

解决表格TD内容复制到输入框无效的问题

我来帮你排查下这个问题——你已经通过alert确认了TD的文本能正常获取,但输入框就是没填上,大概率是这几个细节没注意到:

可能的原因及解决方案

1. 输入框选择器是否准确?

先确认你用来定位输入框的ID(比如deslocamento_data_inc)有没有拼写错误,或者这些输入框是不是被嵌套在某个动态生成的容器里(比如模态框)。可以打开浏览器控制台(F12),直接输入$("#deslocamento_data_inc"),看看返回的元素长度是不是1,如果是0,说明选择器没找到元素。

2. TD文本包含多余空白字符

有时候TD里的文本会有换行、空格或者制表符,虽然alert能显示,但这些空白可能导致输入框看起来没填上(尤其是日期、时间类型的输入框)。可以用$.trim()把文本两端的空白去掉:

// 处理后再赋值
$("#deslocamento_data_inc").val($.trim($("#deslocamento_data_" + _indice_ultimo_deslocamento_salvo).text()));

3. 后续函数覆盖了输入框的值

你代码最后调用了populaLinhaIncDesloc(),这个函数会不会重置了输入框的内容?如果它在赋值之后执行,很可能会把你刚填的值覆盖掉。可以先注释掉这个函数,测试输入框能不能正常填充,再去检查这个函数的逻辑。

4. 输入框类型与文本格式不匹配

如果你的输入框是type="date"、type="time"这类特殊类型,浏览器对输入值的格式有严格要求:

  • date类型需要YYYY-MM-DD格式
  • time类型需要HH:MM或HH:MM:SS格式
    如果TD里的文本格式不符合,浏览器会拒绝显示这个值,看起来就像没填上。你可以检查下TD里的文本格式是否符合要求,或者把输入框改成type="text"测试。

修改后的测试代码

function removeDesloc() { 
    let _total_deslocamentos = $("#qtdDeslocSalvos").val(); 
    let _indice_ultimo_deslocamento_salvo = _total_deslocamentos - 1; 

    // Atualiza Total de Deslocamentos que estao salvos no BD 
    $("#qtdDeslocSalvos").val(_total_deslocamentos - 1); 

    // 先获取并清理TD内容
    const data = $.trim($("#deslocamento_data_" + _indice_ultimo_deslocamento_salvo).text());
    const origem = $.trim($("#deslocamento_origem_" + _indice_ultimo_deslocamento_salvo).text());
    const destino = $.trim($("#deslocamento_destino_" + _indice_ultimo_deslocamento_salvo).text());
    const horaSaida = $.trim($("#deslocamento_hora_saida_" + _indice_ultimo_deslocamento_salvo).text());
    const tempo = $.trim($("#deslocamento_tempo_" + _indice_ultimo_deslocamento_salvo).text());

    // 赋值给输入框
    $("#deslocamento_data_inc").val(data); 
    $("#deslocamento_origem_inc").val(origem); 
    $("#deslocamento_destino_inc").val(destino); 
    $("#deslocamento_hora_saida_inc").val(horaSaida); 
    $("#deslocamento_tempo_inc").val(tempo); 

    // 先注释掉这个函数,测试是否是它覆盖了值
    // populaLinhaIncDesloc(); 

    // Remove linha da tabela que contem o deslocamento removido via AJAX 
    $("#deslocamento_" + _indice_ultimo_deslocamento_salvo).remove(); 
}

内容的提问来源于stack exchange,提问作者Ana Souza

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 06:56:52