使用 ajax 将鼠标悬停时更改标签文本
Change label text on mouse over with ajax
我想在鼠标悬停时更改标签的值。这是我到目前为止所做的:
$(function () {
var hoverOff = "";
$("[id*=GV] td").hover(function () {
hoverOff = $("label", $(this).closest("td")).text();
$.ajax({
type: "POST",
url: "MyMethode.aspx/GetNewValue?text=" + hoverOff,
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
$("label", $(this).closest("td")).html(data.d);
}
});
},
function () {
$("label", $(this).closest("td")).html(hoverOff);
}
);});
一开始,我将当前文本保存在 hoverOff 中,并将该值发送到返回新值的方法 GetNewValue,在 ajax 成功中,我想将该值应用于标签。问题是标签的文本永远不会改变,尽管 data.d 包含新文本。我应该使用其他东西而不是 .html((吗?
ajax 回调中的this
不是指当前悬停的 TD,而是指向 jqXHR 对象。您可以使用$.ajax
上下文选项:
context: this,
顺便说一句,$(this).closest("td")
是完全无关紧要的,因为显然,即使您有嵌套的 TD,$(this).closest("td")
也会始终返回当前的 TD,因此您可以使用this
:
hoverOff = $("label", this).text();
data: "{}",
可以data: {},
,在这里设置字符串没有意义。>>因为您将 contentype 设置为 JSON
这是一个
上下文问题,你不能在成功函数中使用this
,试试这段代码:
$(function () {
var hoverOff = "";
$("[id*=GV] td").hover(function () {
var label = $("label", $(this).closest("td"));
hoverOff = label.text();
$.ajax({
type: "POST",
url: "MyMethode.aspx/GetNewValue?text=" + hoverOff,
data: {},
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
label.html(data.d);
}
});
},
function () {
label.html(hoverOff);
}
);});
您可以使用
此解决方案 https://stackoverflow.com/a/10701170/3421811
$('.btn').hover(
function() {
var $this = $(this); // caching $(this)
$this.data('initialText', $this.text());
$this.text("I'm replaced!");
},
function() {
var $this = $(this); // caching $(this)
$this.text($this.data('initialText'));
}
);
相关文章:
- 在Datatables中设置本地化后,需要更改标签文本
- 当输入位于标签内时,更新无线电标签文本
- 无法从jquery设置标签文本
- 在我用javascript更改后,标签文本在代码后面没有更改
- 在运行时更改表单标签文本
- 使用javascript递减会话时间值并分配给标签文本
- 标签文本框ServerControl
- D3 垂直条形图为标签文本添加换行符
- 获取标签文本并将其设置为输入值[为什么输入值只获取空格前的文本?
- 将标签文本复制到输入
- 上下文菜单 JavaScript 无法获取所选文本,如果文本是输入标签/文本框
- 使用 JavaScript 将标签文本设置为跨度宽度
- 如何根据用户在文本框中键入的内容更新标签文本
- Javascript 在更新面板和向导中设置标签文本重置
- 如何在标签文本更改时触发事件
- 如何添加类似于堆栈溢出系统的标签文本输入系统
- 使用 ajax 将鼠标悬停时更改标签文本
- 将 href 值替换为 asp.net 中的标签文本
- 如何在图形上的 x 轴标签文本后面添加元素
- html/更改标签文本