我的网站允许用户发布,也可以编辑这些帖子。
当用户想要编辑帖子时,我创建了一个带有“textarea”的“div”和带有jquery的“save”按钮,我将用户在帖子中所拥有的内容加载到“textarea”。
var textarea = $('<textarea></textarea>');
textarea.attr({
rows:"2",
cols:"56",
type:"text",
id:"textedit",
name:"text"
});
textarea.text(post_content);
textarea.appendTo(div2);
var save_button = $('<button></button>');
save_button.attr({
id:"editChirp",
value:"Post"
});
save_button.text("Save");
save_button.addClass('button');
save_button.appendTo(div2);
按钮的jquery事件处理程序如下:
save_button.click(function () {
var temp = $('#textedit').val();
alert(temp);
});
问题是临时变量没有更新,它会在第一次更新帖子时保持相同的值。
答案 0 :(得分:0)
save_button.click(function () {
var temp = $(this).siblings('textarea.myPostText').eq(0);
// eq(0) returns the first sibling found.
alert(temp.val());
});
兄弟姐妹的样本。给定一个固定的结构,你可以只查询按钮的兄弟,它应该总是只返回一个textarea。然后限制是您可能需要更改结构以提供所需的唯一性。
这是一个小提琴:http://jsfiddle.net/GUsDg/3/