【问题标题】:Live updating a table error实时更新表错误
【发布时间】:2011-09-05 06:07:08
【问题描述】:

我有一个实时插入表单,如果它实际插入到数据库中,它应该将值附加到表中。

所以,我有这个 javascript/jquery 函数:

    else{
        var data = 'action=insert&porcab=' + porcAbandoned + '&porcan=' + porcAnswered;
        data = data + '&secab=' + secAbandoned + '&secan=' + secAnswered + '&name=' + name;
        $.ajax({
        type: "POST",
        url: "manager.php",
        async: false,
        data: data,
        cache: false,
        success: function(response){
                    var result = Number(response);
                    var row = '<tr id="'+result+'"><td class="edit porcAbandoned '+result+'>'+name+'</td>';
                    row = row + '<td style="text-align: center;" class="edit porcAbandoned '+result+'>'+porcAbandoned+' %</td>';
                    row = row + '<td style="text-align: center;" class="edit secAbandoned '+result+'>'+secAbandoned+'</td>';
                    row = row + '<td style="text-align: center;" class="edit porcAnswered '+result+'>'+porcAnswered+' %</td>';
                    row = row + '<td style="text-align: center;" class="edit secAnswered '+result+'>'+secAnswered+'</td>';
                    row = row + '<td style="text-align: center;">-</td>';
                    row = row + '<td style="text-align: center;"><a class="delete" href="#"><img src="assets/delete.png" /></a></td></tr>';
                    $('#clients > tbody:last').append(row);
                }
        });
    }

之前的 IF 只是验证。如果它不验证不执行 AJAX 调用。

我已经尝试提醒该行并且存储的数据是正确的,但它没有在表格中显示任何数据,但分数和图像......

返回的响应是插入的表的 ID,因此可以将其删除。

这有什么问题?

【问题讨论】:

  • 我认为以下行中缺少“新”关键字:var result = Number(response);
  • 我不明白你想告诉我什么:( Number 强制转换为 Number 的响应。
  • 你必须写“new Number(...)”。使用构造函数时总是写“new”。按照惯例,构造函数以大写字母开头。小写的普通函数。
  • 好的,但这并不能解决问题。正如我所说,行警报的输出还可以,但显示不正确。
  • 也许我在 Number 构造函数上错了。似乎是个例外,看这里:stackoverflow.com/questions/369220/…。但是,您是对的,这并不能解决问题。

标签: javascript jquery ajax


【解决方案1】:

你没有关闭类属性,f.ex:

row = row + '<td style="text-align: center;" class="edit porcAbandoned '+result+'>'+porcAbandoned+' %</td>';

是:

row = row + '<td style="text-align: center;" class="edit porcAbandoned '+result+'">'+porcAbandoned+' %</td>';
________________________________________________________________________________/\

【讨论】:

  • 上帝之母!多么愚蠢的失败!谢谢你,现在已经解决了。
【解决方案2】:

这个测试怎么样jsfiddle。这有效并添加了一行。但是,必须使用“上下文”属性将使用的变量传递给函数,请参见此处:jQuery.ajax

【讨论】:

  • 我不知道你是什么意思。变量在 form.submit(function()) 中,它会插入值并正确提醒行。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-28
  • 2016-12-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多