我有一个分配给名为status_button的锚标记的类。单击与锚标记关联的图像,它将运行附加的功能。两个变量传递给php脚本,3个数据响应以分号的形式回送。我已设置警报,以确保从PHP返回正确的数据。
我需要帮助的是如何使用echo'ed响应更改锚标签标题值。我尝试过的20个中有5个例子。它们都不起作用,但我也没有错误。任何帮助将不胜感激。
$(".status_button").on('click', function () {
var element = $(this);
var I = element.attr("id");
var id = $("#id" + I).val();
var sname = $(this).attr("title");
$.post("openclose.php", {
id: id,
sname: sname
},
function (data) {
var response = (data).split(";", 3);
alert(response[0]);
alert(response[1]);
alert(response[2]);
$("#messageA" + I).innerhtml = (response[0]);
$("#messageA" + I).hide();
$("#messageA" + I).fadeIn(1500);
$("#messageB" + I).html(response[1]);
$("#messageB" + I).hide();
$("#messageB" + I).fadeIn(1500);
***$(this).attr("title",(response[2]));
***$(I).attr("title", (response[2]));
***$("#id" + I).attr("title" , (response[2]));
***document.getElementById(I).title = (response[2]);
***document.getElementById("#id" +I).setAttribute("title",(response[2]));
});
return false;
});
答案 0 :(得分:0)
这将有效:
$("#1").attr("title", (response[2]));
您的尝试:
***$(this).attr("title",(response[2])); //this is no longer referring to the clicked element when inside the callback
***$(I).attr("title", (response[2])); //Missing # for ID
***$("#id" + I).attr("title" , (response[2])); //Not your element ID
***document.getElementById("#id" +I).setAttribute("title",(response[2])); //Not your ID
答案 1 :(得分:0)
嗯....我不得不改变一些事情来让我按照我需要的方式工作。首先,我从我的锚标签中删除了标题并将其放在我的div标签中。然后我将我的php文件的响应从3个减少到2个数据。
$(".status_button").on('click', function () {
var element = $(this);
var I = element.attr("id");
var id = $("#id" + I).val();
var xname = $("#messageA" + I).attr('title');
$.post("openclose.php", {
id: id,
xname: xname
},
function (data) {
var response = (data).split(";", 2);
$("#messageA" + I).attr('title', (response[0]));
$("#messageB" + I).html(response[1]);
$("#messageB" + I).hide();
$("#messageB" + I).fadeIn(1500);
});
return false;
});