weixin_33694620 2017-03-08 10:27 采纳率: 0%
浏览 13

将项目添加到表一次

I have an upload control which is hit each time a file has been successfully uploaded. Users can uploaded 1 or more files at any time. And the following js funciton is called function OnFileUploadComplete(s, e){}. In this function a make an ajax call and get a List<T> of values. I want to loop over the result set from my ajax reponse and display them into a table which I've achieved by doing the following

function successCallBack(result) {
  var table = $("#attachments-table");

  $.each(result.Attachment, function (index) {
      var base64String = btoa(String.fromCharCode.apply(null, new Uint8Array(result.Attachment[index].Thumbnail)));
       var rows = $('<tr></tr>'),
           button = $('<input class="btn btn-danger delete-attachment">').attr({
                  type: 'button',
                  id: result.Attachment[index].Id,
                  name: result.Attachment[index].Id,
                  value: result.Attachment[index].Id });

            rows.append('<td>' + result.Attachment[index].AttachmentName + '</td>');
            rows.append('<td><img class="img-responsive" src="data:image/png;base64,' + base64String + '"></td>');
            $('<td></td>').html(button).appendTo(rows);
            table.append(rows);
  });
}

This works fine to a point. However, If I have multiple items it adds them over and over. So my question is how can only add items which are not already in the table.

Note: The table is empty when the page loads and is filled by the ajax response data

  • 写回答

1条回答 默认 最新

  • weixin_33691700 2017-03-08 10:57
    关注

    try something like this

        function successCallBack(result) {
      var table = $("#attachments-table");
    
      $.each(result.Attachment, function (index) {
          var base64String = btoa(String.fromCharCode.apply(null, new Uint8Array(result.Attachment[index].Thumbnail)));
           var rows = $('<tr></tr>'),
               button = $('<input class="btn btn-danger delete-attachment">').attr({
                      type: 'button',
                      id: result.Attachment[index].Id,
                      name: result.Attachment[index].Id,
                      value: result.Attachment[index].Id });
    
                rows.append('<td>' + result.Attachment[index].AttachmentName + '</td>');
                rows.append('<td><img class="img-responsive" src="data:image/png;base64,' + base64String + '"></td>');
                $('<td></td>').html(button).appendTo(rows);
     if($("#"+id).length==0){
                table.append(rows);}
      });
    }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 软件测试决策法疑问求解答
  • ¥15 win11 23H2删除推荐的项目,支持注册表等
  • ¥15 matlab 用yalmip搭建模型,cplex求解,线性化处理的方法
  • ¥15 qt6.6.3 基于百度云的语音识别 不会改
  • ¥15 关于#目标检测#的问题:大概就是类似后台自动检测某下架商品的库存,在他监测到该商品上架并且可以购买的瞬间点击立即购买下单
  • ¥15 神经网络怎么把隐含层变量融合到损失函数中?
  • ¥15 lingo18勾选global solver求解使用的算法
  • ¥15 全部备份安卓app数据包括密码,可以复制到另一手机上运行
  • ¥20 测距传感器数据手册i2c