包含图表的图像在ajax load()之后不会重新绘制

时间:2015-04-04 16:27:48

标签: javascript jquery ajax asp.net-mvc

我有一个包含dataTable.NET的页面和两个包含由控制器呈现的图表的图像。如果我第一次渲染完整的页面,一切都很好。

但是当我在dataTable上处理行点击事件并尝试根据行ID生成另一个图表时,图像不会重新绘制,但如果我在浏览器中检查网络流量,则在Firefox的日志中有HTTP结果200和鼠标悬停图标条目显示包含新内容的图像。

这是我的reaload图像代码。如果我在ajax加载回调中使用警告对话框调试我的控制器和/或尝试调试视图,那么每个思考似乎都能正常工作,除非图像没有重新绘制,页面显示第一次加载完整页面时加载的图像。

拜托,有人可以推动我前进并指出我错过的和/或做错的方式吗?

谢谢,pf

      $('#cashnode-datastatus-table-id').on('click', 'tbody tr', function() {

        $('#cashnode-datastatus-table-id tbody tr').removeClass('selected');

        var row = $(this);
        row.addClass('selected');
        var data = CashNodeDataStatusTable.fnGetData(row);

        var url = '/Data/DataStatus/NodeAmountStatusChart?Id=' + data.DT_RowId;
        $("img#NodeAmountStatusChart").load(url);
        url = '/Data/DataStatus/NodeCountStatusChart?Id=' + data.DT_RowId;
        $("img#NodeCountStatusChart").load(url);

      });

1 个答案:

答案 0 :(得分:1)

JQuery加载函数用于加载html内容,这对img标记没有多大意义。要更改图像,只需设置其来源:$('#myImg').prop('src','new/url');

很高兴它有所帮助:)