我如何通过jquery和ajax替换图像(在div内)
我试图点击图像并通过jquery将其更改为另一个图像。
当我逐步执行以下代码时,在服务器端,控制器操作触发,在客户端,我可以在firebug观察窗口中看到正确的html返回,但图像根本没有变化。 知道为什么这个div没有更新?
原来的div:
jquery代码:
$(document).ready(function() { $('div.inlineDiv').live('click', function() { var id = $(this).attr("id"); var toggle = $(this).attr("toggle"); var url = '/Tracker/Update?id=' + id + '&toggle=' + toggle; $.get(url, function(data) { $(this).html(data); }); }); });
控制器动作:
public ActionResult Update(int id, string toggle) { if (toggle == "off") { return Content(""); } return Content(""); }
我相信get中的this
是指get的function。
更轻松:
$(this).load(URL);
$(this)
并未指向正确的对象。 首先尝试将对象分配给变量,或者只说$('div.inlineDiv').html(data)
var objDiv=$(this); $.get(url, function(data) { objDiv.html(data); });
另一种方法是$('div.inlineDiv img').attr('src',returnedPath);
但是您必须更新控制器操作以仅返回src路径。
或者如下所述$('div.inlineDiv').load(URL);