之前我很抱歉,如果标题不是最正确我不知道如何把它,我想要实现,
我有一个网站,我可以在页面加载时使用ajax获取属于该用户的数据(books,ect):
$.post('scripts/myArt_scripts.php', {dataSession: "set"}, function(response) {
var response = jQuery.parseJSON(response);
var responseLength = response.length;
alert(responseLength);
});
我想要做的是在显示数据的时候。例如,将用户作为x书籍,当他点击书籍x名称时,它将打开该书的其余数据。
我的问题是如何将本书的名称与我在加载时从ajax获得的唯一idc相关联。
我在print上创建了一个唯一的id,或者通过innerhtml,但不会被其他用户编辑。
以这种方式获取数据:response[0].title
response[0].description
....
response[1].title
......
注意:标题将位于leff上的“subnavar”(例如:div id:navbar),img描述upvotes ect将位于右侧(例如:div class:content )
答案 0 :(得分:1)
有几种方法可以做到。
一种方法是将所有数据放入页面的HTML中,但隐藏除标题之外的所有内容。当他们点击标题时,您只需显示包含其余数据的DIV。
$.post('scripts/myArt_scripts.php', {dataSession: "set"}, function(response) {
alert(response.length);
$.each(response, function(book) {
var bookdiv = $("<div class='book'>");
bookdiv.append($("<div class='title'>").text(book.title))
.append($("<div class='description'>").text(book.description).hide());
$("#results").append(bookdiv);
});
}, "json");
$("#results").on("click", ".book", function() {
$(this).next(".title").toggle();
});
另一种方法是将数组放在Javascript全局变量中。标题可以包含带有数组索引的data-XXX
属性,当您单击它时,它会查找数组中的对象,将相应的元素添加到DOM并显示它。
答案 1 :(得分:0)
另一种愚蠢的方式:)是第一个ajax只是当用户点击制作第二个ajax获取有关点击的bookid的更多详细信息时可以发送用户ID
$("#bookDiv").onclick(function(){
$.post('scripts/myArt_scripts.php', {bookid: $(this).attr("data-
bookid"),userId:userid}, function(response) {
//Show book details returned from the server
})
})