Я начинаю в Аяксе, и у меня есть пара проблем.У меня есть страница со списком, содержащим некоторые миниатюры видео, при наведении на них значка появляется значок «Мне не нравится».Это сделаноТеперь у меня возникают проблемы:
Когда вы нажимаете этот значок, название видео, миниатюра и информация должны исчезнуть, и должно отображаться другое видео.
Вот мой код Ajax
function ThumbsDown(id,sort,page) {
$.ajax({
url: "/change/videos/"+id+"/thumbsdown/",
type: "POST",
data: {
"sort": sort?sort:"",
"page": page?page:""
},
complete: function(result) {
// Instead of calling the div name, I need to be able to target it with $(this) and .parent() to make sure only 1 video change, but for now I only want the response to replace the video
$("#content .videoList ul li.videoBox").html(result);
}
});
}
Запрос работает, я получаю (200 OK) ответ.И он возвращает мне блок кода HTML для нового видео.
Проблема в том, что , когда я нажимаю на значок, весь HTML-код в div исчезает .У меня есть пустой тег, поэтому я предполагаю, что он интерпретируется как «пустой».Но в моей вкладке Firebug .Net я четко вижу, что есть ответ.
Любая помощь, пожалуйста? УЖЕ ИСПРАВЛЕНО, СПАСИБО
** РЕДАКТИРОВАТЬ **
Теперь у меня проблемы с целевым определением div с помощью $ (this) и родителей ().Может кто-нибудь помочь?
Я хочу нацелиться на li # videoBox
<li class="videoBox recommended">
<div class="spacer" style="display: block;"></div>
<div class="features">
<div>
<a class="dislike_black" title="I dislike this" onclick="ThumbsDown(30835, 'relevance', '1');"></a>
</div>
...
Я пробовал это, и оно не работает.
success: function(data) {
$("#content .videoList ul li.videoBox").html(data); // this IS WORKING, but replacing ALL the thumbs
$(this).parents("li.videoBox").html(data); // THIS IS NOT
Что я делаю неправильно