导航JSON对象

时间:2014-09-28 21:57:37

标签: javascript jquery json

这里的总菜鸟:

我有一个JSON结果来到.on('click')函数,如下所示:

{"1411939719-8696.jpeg":true} 

我想根据来电的来源删除表格中的一行,但由于某种原因它无效:

$('#fileupload').fileupload({
    dataType: 'json',
    done: function (e, data) {
        $.each(data.result.files, function (index, file) {
            $('<p/>').text(file.name).appendTo(document.body);
            var del = $('<button/>')
                .addClass('btn btn-danger')
                .attr('data-type', 'DELETE')
                .attr('data-url', file.deleteUrl)
                .text('DELETE');


               var thumb =  $('<img />', 
                   { id: file.thumbnailUrl+'_ID',
                     src: file.thumbnailUrl, 
                     alt:'MyAlt'}); 

               $('#preview').find('tbody')
                 .append($('<tr>')
                    .append($('<td>').append(thumb))
                    .append($('<td>').append(del))
                 );
                });


          }
    });

和点击功能在这里:

$(document).on("click", ".btn-danger", function () {
$.ajax({
    url: $(this).attr("data-url"),
    type: $(this).attr("data-type")
}).done(function (result) {
             $(this).closest("tr").remove(); // to remove the complete row after delete success
        });
});

我需要删除包含删除按钮的行以及缩略图,但此代码无效?

1 个答案:

答案 0 :(得分:1)

我认为你说的是​​错误的范围。

也许这可行:

$(document).on("click", ".btn-danger", function () {
  //save scope-object to that
  var that = this;
  $.ajax({
    url: $(this).attr("data-url"),
    type: $(this).attr("data-type")
  }).done(function (result) {
    $(that).closest("tr").remove(); 
    });
});